После того как Вы сделаны, сохранив файл, Вы всегда могли split
файл в части файла или несколько файлов на основе количества строк.
split -l 1000 output_file
или еще лучше просто попробуйте
command | split -l 1000 -
Это разделит поток вывода на файлы с каждым 1 000 строк (значение по умолчанию является 1 000 строк без-l опции).
Ниже команды даст Вам дополнительную гибкость, чтобы поместить или осуществить префикс к имени файла, которое будет сгенерировано, когда вывод будет сгенерирован и splitted для хранения в файл.
command | split -l 1000 - small-
Один из самых основных инструментов для определения местоположения файлов (или другие виды узлов) find
утилита.
find ./ -type f -name '*[!0-9][0-9].txt'
Это будет искать:
./
). Вы могли изменить это на другой путь или даже оставить его, так как это - значение по умолчанию для большинства версий find
.-type f
). Вы могли оставить это, если бы Вы хотели найти другие типы также.-name '*[0-9].txt'
)Если существуют файлы, имя которых является только цифрой, сопровождаемой .txt
, команда выше пропустит их, потому что требуется одна нецифра перед цифрой. Следующие эквивалентные команды используют булевы операторы для включения имен файлов только с цифрой также (-o
“или” и !
не):
find ./ -type f \( -name '*[!0-9][0-9].txt' -o -name '[0-9].txt' \)
find ./ -type f -name '*[0-9].txt' ! -name '*[0-9][0-9].txt'
Обратите внимание, что это будет чувствительно к регистру. Если Вы хотели бы нечувствительное соответствие, можно использовать -iname
вместо -name
соответствовать вещам как file4.TXT
также. Также знайте, что просто, потому что файл утверждает, что был текстовым файлом с тем расширением, не означает, что это. На Linux любой файл может быть любым типом, неважно, имя. Могли бы также быть текстовые файлы с другими расширениями или без расширения вообще.
Используя простые шарики POSIX:
ls -d -- [0-9].txt *[!0-9][0-9].txt
*[^0-9][0-9].txt
мог бы быть лучший шарик (хотя это пропустит имена файлов, состоящие только из единственной цифры плюс .txt. положительная сторона
– Ansgar Esztermann
13.11.2012, 15:11
-d --
, Я думал о предложении их только после регистрации. Как альтернатива, как ChrisDown предполагает в его ответе, можно было использовать printf '%s\n' YourGlobPattern
вместо ls ...
.
– dubiousjim
13.11.2012, 15:41
В zsh, с setopt extended_glob
в ~/.zshrc
:
print -lr -- *[0-9].txt~*[0-9][0-9].txt
Если Ваши имена файлов не начинаются -
и не содержите \
можно сохранить немного ввода:
print -l *[0-9].txt~*[0-9][0-9].txt
Замена print -l
echo
показать имена с пробелами между ними вместо новых строк. Замена print -l
ls -d
видеть имена файлов, отформатированные ls
(например, в цвете, в зависимости от Ваших псевдонимов), или просто ls
если ни одно из соответствий не каталоги:
ls *[0-9].txt~*[0-9][0-9].txt
Если Вы хотите видеть файлы в подкаталогах также, добавить **/
перед шаблоном:
ls **/*[0-9].txt~*[0-9][0-9].txt
Команда Unix для возврата файлов, который заканчивается единственной цифрой и имеет .txt расширение
ls -l *[0-9].txt
!
также (отключающий некоторые опции истории мог бы также быть достаточным). – dubiousjim 14.11.2012, 04:18