Используйте цикл для извлечения строк из нескольких файлов - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь создать цикл, который позволит мне извлекать строки с 18 по 5773 (печатать все столбцы) из нескольких файлов в формате CPMIR (1-6) .sln, а затем выводить их в файлы, соответственно пронумерованные, batch[1-6].txt

Я использовал примеры, найденные в Интернете, чтобы придумать этот код:

for i in {1..6}; do
    sed -n '{ '18,5773p;q' CPMIR'"${i}"'.sln }' > batch${i}.txt
done

, но я здесь потерян.Все еще плохо знаком с кодированием и выяснением этого на ходу.

Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Это может сработать для вас (GNU sed & parallel):

parallel "sed '1,17d;5773q' CPMIR{}.sln >batch{}.txt" ::: {1..6}
0 голосов
/ 22 октября 2018

Нашел другой пример : и получил следующий код для выполнения работы

для i в {1..6};do awk 'NR> = 18 && NR <= 5773 {print $ 0}' CPMIR $ {i} .sln> batch $ {i} .txt;сделано

...