2016-07-04 5 views
2

Я пытаюсь удалить первую строку каждого из моих файлов .csv в моей папке DIR с помощью СЭД:Удаление первой строки каждого файла CSV с использованием СЭД

DIR=/home/results 
for filename in "$DIR"; do 
     sed 1d filename.csv 
done 

Однако, это не работает. Я новичок в создании сценариев bash и буду благодарен, если кто-нибудь скажет мне, как это исправить.

+3

Возможный дубликат [Как удалить первую строку текстового файла с помощью скрипта bash/sed?] (Http://stackoverflow.com/questions/339483/how-can-i-remove-the-first- строка-of-the-text-file-using-bash-sed-script) – Inian

ответ

2

Вобщ:

for f in /home/results/*.csv; do sed -i '1 d' "$f"; done 

Глоба модель /home/results/*.csv матчей всех .csv файлов в /home/results/ каталоге, а затем for конструкта итерация над файлами, sed делает на месте удаление первой строки из каждого файла.

+0

Большое вам спасибо! Это работает, и теперь я хочу, чтобы новая строка была первой строкой, которую я пытаюсь выполнить с помощью эха «col1, col2, col3»> all.csv, но он не работает. У вас есть предложения по этому поводу? – rehm20

+0

@ rehm20 Вы можете сделать это с помощью 'sed':' для f в /home/results/*.csv; do sed -i '1 s /.*/ col1, col2, col3 /' "$ f"; сделано' – heemayl

+0

спасибо !!! :) – rehm20

Смежные вопросы