Сценарий для списка только файлов текста ASCII типа в текущем каталоге?

Проверьте этот Linux домашняя автоматизацияLinux домашняя автоматизациясайт и ищите страницу "восход солнца". Существуют некоторые программы командной строки там от c. 1985, которые являются довольно минималистскими. У меня есть исходный код для многих связанных программ с той эры, но я не могу найти их в сети.

Обновление: Я просто нашел источник для немногих других, включая состояние, на этой странице Event Logger. Ищите страницу "rise_set".

Обновление 23.12.2017: Linux, который переместил Домашний проект Автоматизации, но он похож на программы командной строки для восхода солнца, заката, и т.д., все еще доступен здесь и здесь. Я вычеркнул ссылку на исходную страницу, но сохранил ее для ссылки и добавил ссылку к новой странице.

4
22.03.2018, 20:19
5 ответов

Лучший из 2 миров: Избегает использования бесполезного xargs, и ускоряет вещи, начиная с + триггеры параллельны вызову.

find . -type f -exec file {} + | grep ASCII
13
27.01.2020, 20:45
  • 1
    Да, но я должен добавить, что это - a gnu-find расширение. Большую часть времени я забываю об этом. –  user unknown 02.04.2011, 21:37
  • 2
    , поздравляю –  Host Post 27.04.2011, 00:31
  • 3
    @user: "+"' не расширение находки гну. Это было сначала представлено SVR4, находят затем принятыми стандартом POSIX, и позже включенный Гну находят. Каждая текущая реализация находки, очень вероятно, реализует его. –  jlliagre 09.05.2011, 23:20
  • 4
    Спасибо @jiliagre, мой горизонт к высокому, я просто знаю немного приблизительно о Linux и наслаждаюсь для изучения новых фактов. –  user unknown 09.05.2011, 23:29

Должностное лицо 'файл' на всех файлах в текущем directoy, и затем grep для 'ASCII':

find . -maxdepth 1 -exec file {} \; | grep ASCII
2
27.01.2020, 20:45
  • 1
    Насколько портативный grep ASCII? Я помню, что, после того как у меня были проблемы потому что вывод file не точно то же во всех системах, но я не вспоминаю, было ли оно связано с ASCII-файлами. –  sakisk 20.03.2011, 03:59

find . -type f -print0 | xargs -0 file | grep ASCII

На CentOS 5 ASCII может означать много вещей, таких как "ASCII текст программы C++", "английский текст ASCII" и "текст ASCII", таким образом, Вы, возможно, должны были бы сузить его вниз больше.

2
27.01.2020, 20:45

Если это - просто текущий каталог, никакая потребность в find.

Просто попробуйте file * .* | fgrep ASCII

2
27.01.2020, 20:45

Предположите, что Вы получаете имя каталога как аргумент (1$), затем,

ls $1 | while read name
    do
        # "file" returns file type
        file $1/$name | grep -i 'ascii' &> /dev/null

        # $? gives exit status of previous command
        if [ $? -eq 0 ]; then
            # $1/$name is your ascii file, process it here...
        fi
    done
0
27.01.2020, 20:45

Теги

Похожие вопросы