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

Я выполняю моделирования, и я хочу записать сценарии, которые делают оценку данных намного быстрее. У меня есть список файлов. Я использовал эту команду для генерации его:

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

Я хочу открыть их один за другим и скопировать их содержание в новый файл (позволяет, называют это results.dat), но я не знаю, как сделать это. Кто-либо может помочь мне?

3
задан 25 August 2017 в 20:23

1 ответ

Уберите 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 file:

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
ответ дан 1 December 2019 в 15:51

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

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