Как мне написать скрипт через текстовые файлы? - PullRequest
0 голосов
/ 23 февраля 2011

Моя цель - проанализировать несколько текстовых файлов с помощью POS-анализатора HunPos http://code.google.com/p/hunpos/wiki/UserManualI

есть ли способ разбить скрипт на кучу текстовых файлов?

1 Ответ

1 голос
/ 23 февраля 2011

Типичные механизмы выглядят так:

for f in glob; do command $f ; done

Я часто запускаю команды вроде: for f in *; do echo -n "$f " ; cat $f ; done, чтобы просмотреть содержимое всех файлов в каталоге. (Особенно хорошо с каталогами в стиле /proc/sys/kernel/, где все файлы имеют очень короткое содержание.)

или

find . -type f -exec command {} \;

или

find . -type f -print0 | xargs -0 command parameters

Что-то вроде find . -type f -exec file {} \; или find . -type f -print0 | xargs -0 file (работает, только если команда принимает несколько имен файлов во время ввода).

Конечно, если программа принимает несколько аргументов имени файла (например, cat или more или аналогичные инструменты оболочки Unix) и все файлы находятся в одном каталоге, вы можете очень легко запустить: cat * (показать содержимое всех файлов в каталоге) или cat *.* (показать содержимое всех файлов с точкой в ​​имени файла).

Если вам часто требуется «все файлы во всех [под] * каталогах», вам может пригодиться опция zsh **/: ls -l **/*.c покажет вам foo/bar/baz.c и /blort/bleet/boop.c сразу , Отличный инструмент, но я обычно не против написания командного эквивалента find, просто он мне не нужен часто. (И zsh не везде установлен, поэтому в будущем использование его функций может разочаровать.)

...