В директории есть порядка 60000 текстовых файлов, их надо объединить в один файл.
Команда:
cat * > all.txt
не срабатывает:
-bash: /bin/cat: Argument list too long
Попробовал через:
find ./ -name '*.txt' | xargs grep '' > ../all.txt
но столкнулся с тем, что в all.txt записывается и путь, и название файла:
.//file1.txt:row1
.//file1.txt:row2
...
Какие еще могут быть варианты?
Ответ
touch ../all.txt
find ./ -name "*.txt" | xargs cat >> ../all.txt
То есть cat каждого файла по отдельности, а не сразу всех в одной команде cat.
Комментариев нет:
Отправить комментарий