У меня есть список файлов, как я могу открыть и скопировать содержимое каждого файла на новый с помощью bash?

/var/lib/dpkg/lock - фактически файл. Если вы считаете, что это важно, просто переименуйте его, не хотите его удалять.

sudo mv /var/lib/dpkg/lock /var/lib/dpkg/lock-backup
2
задан 25 August 2017 в 20:23

2 ответа

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

find "../../../Single conical/IV/" -name "current-tot.dat" > IVfilenames.dat

Тогда IVfilenames.dat будет списком таких файлов:

../../../Single conical/IV/Dir1/current-tot.dat
../../../Single conical/IV/Dir2/current-tot.dat

Вы можете используйте приведенный ниже код для компиляции всех файлов current-tot.dat из списка в один файл results.dat:

while read -r filename; do 
    cat "$filename"
done < IVfilenames.dat > results.dat

Но это говорит, что проще вырезать посредника , а не создавать список файлов вообще:

find "../../../Single conical/IV/" -name "current-tot.dat" -exec cat -- {} + > results.dat
4
ответ дан 22 May 2018 в 19:03
  • 1
    @ david-foerster Спасибо за редактирование. Именно этого я и искал. – wjandrea 25 August 2017 в 22:13

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

find "../../../Single conical/IV/" -name "current-tot.dat" > IVfilenames.dat

Тогда IVfilenames.dat будет списком таких файлов:

../../../Single conical/IV/Dir1/current-tot.dat ../../../Single conical/IV/Dir2/current-tot.dat

Вы можете используйте приведенный ниже код для компиляции всех файлов current-tot.dat из списка в один файл results.dat:

while read -r filename; do cat "$filename" done < IVfilenames.dat > results.dat

Но это говорит, что проще вырезать посредника , а не создавать список файлов вообще:

find "../../../Single conical/IV/" -name "current-tot.dat" -exec cat -- {} + > results.dat
4
ответ дан 24 July 2018 в 18:55

Другие вопросы по тегам:

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