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

DIR1 contains sample1.txt sample2.txt
    sample1.txt contents  :---this is sample1 file---
    sample2.txt contents  :---this is sample2 file---

DIR2 contains demo1.txt demo2.txt
    demo1.txt contents  :---this is demo1 file---

Я попробовал решение:

(find /home/DIR1  /home/DIR2 -type f | xargs -i cat {} ) > /result/final.txt

Я получил вывод, но последовательность файлов изменилась.

this is sample2 file---  this is sample1 file---  this is demo1 file---

Мне нужен вывод каждого файла в другой строке. как это сделать? Есть ли способ сохранить порядок вывода файлов, например, если я хочу разместить вывод конкретного файла в верхней или около того? и какой смысл использовать " xargs -i " в cmd?

Благодарю.

2 ответа2

2

Вам нужно перейти непосредственно в этот каталог:

cat /home/me/mydir/* > /home/me/finalData.txt
1

Вы можете использовать это:

(find directory -type f | xargs -i cat {} ) > TOTAL

Ищет все файлы в каталоге и помещает все содержимое в ИТОГО.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .