Você pode usar um loop for, então o comando é executado para cada arquivo exatamente uma vez:
for file in *.dat; do sed -i.bak '1,2000d' "$file"; done
Aviso, -i.bak
faz o backup do arquivo original com .bak
ending.
Eu tenho vários arquivos em uma pasta e quero excluir as primeiras linhas de todas elas. Se eu fizer isso:
sed -i.bak '1,2000d' *.dat
as primeiras 2000 linhas são excluídas, mas o nome do arquivo ainda está no formato *.dat
e as próximas 2000 linhas também são excluídas, e assim por diante até que o arquivo esteja vazio. Como posso consertar isso? De preferência sem um script complicado? Existem muitos arquivos para apenas listar todos os nomes de arquivos, eles são muito complicados para digitar todos eles.
Você pode usar um loop for, então o comando é executado para cada arquivo exatamente uma vez:
for file in *.dat; do sed -i.bak '1,2000d' "$file"; done
Aviso, -i.bak
faz o backup do arquivo original com .bak
ending.
Tags command-line bash sed