Я часто кошка загрузка файлов журнала в единственный файл. Например, файлы имеют форму ABC_0.txt
, до ABC_99.txt
.
То, что я обычно должен делать, переименовывают единственные числа цифры, таким образом, число снабжается префиксом нуль для кошки для работы (например, ABC_0.txt
кому: ABC_9.txt
должны быть переименованы к ABC_00.txt
кому: ABC_09.txt
).
Затем я просто делаю это:
cat *.txt > all.txt
который хорошо работает.
У меня часто есть проблема, что файлы журнала повернуты, и на самом деле самый ранний файл журнала ABC_14.txt
например. Таким образом, строка кошки выше будет иметь содержание all.txt
из последовательности.
Любые идеи, как в основном запустить с ABC_14.txt
вперед?
Для разъяснения моего вопроса у меня есть файлы журнала cat0.txt к cat9.txt, но я хочу, чтобы кошка была похожа на это:
cat cat7.txt cat8.txt cat9.txt cat0.txt cat1.txt cat2.txt cat3.txt cat4.txt cat5.txt cat6.txt >all.txt
Если вы хотите cat
упорядочить файлы по датам их изменения, вы можете сделать следующее:
ls -tr ABC_* | xargs cat
, который вначале отсортирует файлы по времени их модификации, после чего следует команда cat
[ 1111]
blockquote>man ls -t sort by modification time, newest first -r reverse order while sorting
ls -tr
приведет к сортировке по времени изменения, самое старое сначала
Если вы хотите
cat
файлы в обратном порядке Вы можете сделать следующее:ls -r ABC_* | xargs cat
, который сначала обратит порядок файлов, затем команда
cat
, например,
$ ls -r ABC_* ABC_03 ABC_02 ABC_01
Предполагая, что содержимое каждого ABC_number - это само число, вывод будет:
$ ls -r ABC_* | xargs cat 03 02 01
Можно использовать земные шары удара с этой целью:
cat ABC_[0-9]*.txt
, который только файлы кошек, запущенные с имени "ABC _" сопровождаемый одним числом и некоторым символом, затем законченным к .txt
.