Переход с Linux Mint на OS X [закрыто]

С awk :

awk '{print $0 > "dir"NR"/textfile"}' datafile
  • NR расширяется до текущего номера записи, поэтому каждая строка будет сохранена в dir / textfile , например первая строка будет сохранена в dir1 / textfile , вторая - в dir2 / textfile и так далее.

Нет необходимости в дорогостоящем , пока перебирает строки файла и выполняет операцию:

i=1; while IFS= read -r line; do echo "$line" >dir"$i"/textfile; ((i++)); done <datafile

Вышеупомянутый способ оболочки предназначен только для демонстрации метода, вы должны следовать awk путь.


Редактировать на основе комментария:

Для замены всех 400 с необходимыми числами из файла данных :

i=1; while IFS= read -r line; do sed "s/400/$line/g" dir"$i"/textfile; ((i++)); done <datafile

Для редактирования файлов на месте:

i=1; while IFS= read -r line; do sed -i "s/400/$line/g" dir"$i"/textfile; ((i++)); done <datafile

Оригинал файлы, резервные копии которых сохранены с расширением .bak :

i=1; while IFS= read -r line; do sed -i.bak "s/400/$line/g" dir"$i"/textfile; ((i++)); done <datafile
1
14.12.2017, 21:54
0 ответов

Теги

Похожие вопросы