Se um CSV combinado repete o cabeçalho de suas colunas entre lotes, você pode criar uma Ação Rápida do Finder que mantém a primeira linha e remove as linhas posteriores idênticas a ela. A ação abaixo grava um arquivo .cleaned.csv separado ao lado de cada arquivo selecionado, deixando o original intocado. Ela funciona para exportações comuns de CSV onde cada registro ocupa uma linha; ela não analisa todos os formatos válidos de CSV.

O que a Ação Rápida fará

O fluxo de trabalho compara linhas inteiras, e não campos individuais do CSV. Ele salva a primeira linha como cabeçalho, copia-a para a saída e depois ignora qualquer linha posterior idêntica a esse cabeçalho. As outras linhas permanecem na ordem original, incluindo linhas de dados repetidas. Esta é uma escolha prática quando lotes exportados inserem o mesmo cabeçalho entre os registros.

O método usa o awk integrado do macOS por meio da ação Executar Script Shell do Automator. A Apple documenta tanto a criação de Ações Rápidas do Finder quanto a adição de scripts shell a fluxos de trabalho do Automator. Criar um fluxo de trabalho de Ação Rápida · Usar uma ação de script shell em um fluxo de trabalho do Automator

Criar a Ação Rápida do Finder

  1. Abra o Automator, escolha Arquivo > Novo, selecione Ação Rápida e clique em Escolher.
  2. Na parte superior do fluxo de trabalho, defina O fluxo de trabalho recebe o atual como arquivos ou pastas e defina o aplicativo como Finder.
  3. Localize Executar Script Shell na biblioteca de Ações e arraste-o para o fluxo de trabalho.
  4. Defina Shell como /bin/zsh e Passar entrada como como argumentos. Cole o script abaixo na ação.
for file in "$@"; do
    if [ ! -f "$file" ]; then
        printf 'Not a regular file: %s\n' "$file" >&2
        exit 1
    fi

    output="${file}.cleaned.csv"
    if [ -e "$output" ]; then
        printf 'Output already exists; skipped: %s\n' "$output" >&2
        exit 1
    fi

    temporary=$(mktemp "${file}.tmp.XXXXXX") || exit 1
    if awk 'NR == 1 { header = $0; print; next }
            $0 != header { print }' "$file" > "$temporary"; then
        if ! mv "$temporary" "$output"; then
            rm -f "$temporary"
            exit 1
        fi
    else
        rm -f "$temporary"
        exit 1
    fi
done

Salve o fluxo de trabalho com um nome como Remover Cabeçalhos CSV Repetidos. O arquivo temporário é criado ao lado do original e, em seguida, movido para o nome de saída após o processamento. Se esse arquivo de saída já existir, o script será interrompido em vez de substituí-lo. O arquivo de entrada original nunca é alvo de gravação.

Executar e verificar o resultado

No Finder, selecione um ou mais arquivos CSV, abra o menu contextual Ações Rápidas e escolha Remover Cabeçalhos CSV Repetidos. Procure, ao lado de cada arquivo de origem, por um arquivo que termine em .cleaned.csv. Abra o resultado em um editor de texto ou planilha e verifique se ele ainda tem um cabeçalho e se as linhas antes e depois de cada cabeçalho repetido continuam presentes. O fluxo de trabalho não exibe uma mensagem personalizada de conclusão; se um arquivo não foi gerado, isso pode significar que a saída já existia ou que ocorreu um erro de processamento.

A comparação é exata: um cabeçalho com diferenças em maiúsculas/minúsculas, espaçamento, pontuação ou aspas é tratado como uma linha diferente e será mantido. Essa restrição é intencional aqui; ela evita adivinhar quais linhas contam como cabeçalhos quando o texto do arquivo varia.

Saiba quando este método baseado em linhas não é adequado

Arquivos CSV podem conter campos entre aspas com quebras de linha incorporadas. Nesse caso, um registro lógico de CSV pode abranger várias linhas físicas, enquanto o awk processa a entrada linha por linha. Esse script poderia, então, confundir uma linha dentro de um campo com um registro ou corromper o arquivo. O manual do awk do macOS da Apple descreve seu processamento orientado a linhas; para CSVs com várias linhas em um único registro, use uma ferramenta compatível com CSV que suporte a estrutura do arquivo. Manual do awk do macOS

Esta Ação Rápida também não normaliza espaços em branco, não remove correspondências aproximadas, não inspeciona nomes de colunas nem mescla arquivos. Ela é adequada para uma limpeza específica: remover repetições exatas da primeira linha física de exportações CSV baseadas em linhas, preservando a fonte para revisão.

Fontes