2016-11-16 4 views
0

У меня есть список csv-файлов и вы хотите использовать цикл for для редактирования содержимого для каждого файла. Я бы хотел сделать это с sed. У меня есть этот SED команды, которые прекрасно работает при тестировании его на один файл: Так что теперь я хочу, чтобы выполнить эту команду для каждого файла в папкеИтерация через файлы в папке с sed

sed 's/[ "-]//g' 

. Я попытался это, но до сих пор не повезло:

for i in *.csv; do sed 's/[ "-]//g' > $i.csv; done 

Я хотел бы, что он будет перезаписывать каждый файл с редактированием в исполнении СЭД. СЕПГ команды удаляет все пробелы, "и '-'. Характер

ответ

0

Небольшие изменения,

for i in *.csv 
do 
    sed -i 's/[ "-]//g' "$i" 
done 

Изменения

  • когда вы перебирать for вы получаете имена файлов в $i в качестве примера one.csv, two.csv и т. д. Вы можете напрямую использовать их для ввода команды sed.

  • -i Для встроенных изменений sed выполнит замену и обновит файл для вас. Не требуется перенаправление вывода.

  • В коде вы написали, я думаю, вы пропустили какой-либо вклад в sed команды

+0

Спасибо, это работает! – Donald

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