-
Agrupe o cabeçalho em cada um dos arquivos. Estou assumindo que
A
é um arquivo desde que você mencionoucat
. Em caso afirmativo, você pode simplesmente copiar:for file in */*.csv; do cp A "$file"; done
Se
A
for uma variável, façafor file in */*.csv; do echo "A" > "$file"; done
Alternativamente, se tudo que você precisa é da primeira linha, você pode colocar isso em cada arquivo. Dessa forma, também funcionará para diferentes cabeçalhos:
for file in */*.csv; do head -n "$file" > /tmp/foo && mv /tmp/foo "$file"; done
-
Existem muitas maneiras de excluir o último X número de linhas dos arquivos. Aqui estão três:
-
head
, altere X para quantas linhas você quiser manter:for file in */*.csv; do head -n X $file > /tmp/foo && mv /tmp/foo "$file"; done
-
awk
, altere o123
para quantas linhas você quiser manter:for file in */*.csv; do awk 'NR<=123' "$file" > /tmp/foo && mv /tmp/foo "$file"; done
-
perl
, altere o123
para quantas linhas você quiser manter:for file in */*.csv; do perl -ne "next if $.>123;print' "$file" > /tmp/foo && mv /tmp/foo "$file"; done
-