Другой вариант:
tail -f your_file
Он покажет вам последние десять строк в your_file. Если процесс добавляет что-то в этот файл, вы видите его на своем терминале. man tail дает вам больше информации о tail.
Полезно узнать, что происходит с сервером при использовании этой команды в файле журнала.
Нажмите Ctrl-C, чтобы выйти когда вы закончите просмотр.
Гораздо проще,
$ while read -r line; do whatis "$line"; done < cmdlist.txt > cmdinfo.txt
cut (1) - remove sections from each line of files
lshw (1) - list hardware
top (1) - display Linux processes
awk (1) - pattern scanning and text processing language
sensors (1) - print sensors information
Используйте следующую команду, чтобы записать результат в файл.
while read -r line; do whatis "$line"; done < cmdlist.txt > cmdinfo.txt
Очень просто:
for i in $(cat cmdlist.txt); do whatis $i ; done > cmdinfo.txt
Это проходит через каждую запись (i) на выходе $(cat cmdlist.txt) и запускает whatis на самой записи. Пример вывода:
cut (1) - remove sections from each line of files
lshw (1) - list hardware
top (1) - display Linux processes
awk (1) - pattern scanning and processing language
sensors (1) - print sensors information
N.B. хотя во многих примерах вы найдете i, вы не должны его использовать - вы можете использовать большинство простых буквенно-цифровых строк, например:
for jnka127nsdn in $(cat input.txt); do whatis $jnka127nsdn ; done
Чтобы сделать это без разбора cat :
while read -r i ; do whatis $i ; done < cmdlist.txt
Что-то вроде этого:
#! /bin/bash
in_file=$1
out_file=$2
while read command
do
whatis $command
done < $in_file >> $out_file
Я решил оставить stderr нетронутым, так как если у вас есть команда там, для которой whatis информация недоступна, вы должны быть осведомлены (и посмотрите в другом месте, если необходимо).
Я думаю, что вы можете получить правильный результат с помощью следующей команды.
$ for i in `cat cmdlist.txt`;do whatis $i 2>&1;done | sed "s,: nothing appropriate.,,g" > cmdinfo.txt
Фактически,
$ for i in `cat cmdlist.txt`;do whatis $i 2>&1;done
Команда, первая часть команды будет показывать выходы следующим образом: .
cut (1) - remove sections from each line of files
lshw (1) - list hardware
top (1) - display Linux tasks
.: nothing appropriate.
.: nothing appropriate.
.: nothing appropriate.
tr (1) - translate or delete characters
вы можете сделать это с помощью whatis $(cat cmdlist.txt), но его вывод включает следующие строки.
.: nothing appropriate.
.: nothing appropriate.
.: nothing appropriate.
выше sed команда удаляет некоторые выходные строки, которые вам понадобятся. [ ! d4]
Вопрос изменяется как сейчас. Если все строки из cmdlist.txt могут быть перечислены в whatis, можно использовать следующую команду как простой способ.
whatis `cat 1.txt` 2>/dev/null > cmdinfo.txt
Если вам просто нужны строки, которые могут быть полностью перечислены из , Может использовать следующую команду в качестве простого пути.
whatis `cat 1.txt` > cmdinfo.txt
Вопрос вы можете выбрать один из способов для разных.