2015-04-26 2 views
1

Я знаю, что этот вопрос задан before, но я не совсем понял его (командная строка noob). Итак, вот команда sed, которая удаляет первые семь строк csv, а затем две последние строки.CSV-манипуляция с sed - применить sed к нескольким строкам

cat test.csv | sed "1,7d" | sed 'N;$!P;$!D;$d' > test2.csv 

Теперь, на основании некоторых других должностей, я воедино то, что позволит мне применить этот сценарий для всех моих файлов CSV в одной папке. Я собирал много разных примеров кода, но мне кажется, что я должен иметь одну команду sed, а не собирать их вместе. Любая помощь, помогающая нору, будет с благодарностью оценена.

+0

Как о 'SED -e "1,7d" -e«N; $! P; $ D ; $ d' '? – Beta

ответ

2

"удалить первые 7 строк, а затем последние 2 для всех файлов в каталоге"

for file in *.csv; do 
    sed '1,7d' "$file" | tac | sed '1,2d' | tac > "$file.new" 
done 
Смежные вопросы