Я думаю, что вы можете получить правильный результат с помощью следующей команды.
$ 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
Вопрос вы можете выбрать один из способов для разных.
Самый простой подход состоит из следующих команд:
sudo apt-get clean
& amp;
sudo apt-get update
then
sudo apt-get install <package_name>
Cheers
Дайте мне знать, если это работает
Мне пришлось
sudo apt-key update
sudo apt-get update
Из manpages:
apt-key используется для управления списком ключей, используемых apt для аутентификации пакетов. Пакеты, которые были аутентифицированы с использованием этих ключей, будут считаться доверенными.