Необходим простой скрипт / цикл / команда для ввода, выполнения и вывода в текстовых файлах

sit обозначает простой интернет-переход. sit0 - это имя Linux для 6to4. 6to4 - это протокол туннелирования для использования IPv6 через существующее соединение IPv4.

Источник: http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/

Для отключения интерфейса sit0

открыть файл /etc/modprobe.d/aliases с помощью команды sudo gedit /etc/modprobe.d/aliases найдите « alias net-pf-10 ipv6 » и замените его на « alias net-pf-10 off »

машина.

Источник: https://help.ubuntu.com/community/WebBrowsingSlowIPv6IPv4

Надеюсь, это поможет.

5
задан 14.07.2014, 15:28

5 ответов

Максимально простой:

xargs whatis < cmdlist.txt > cmdinfo.txt
9
ответ дан 07.10.2019, 12:42
  • 1
    Или whatis $(< cmdlist.txt) > cmdinfo.txt использование bash и предотвращение xargs. – itowlson 14.07.2014, 10:47

Намного более простой один,

$ 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
5
ответ дан 07.10.2019, 12:42
  • 1
    don' t анализируют вывод команды кошки. – Steve Hibbert 13.07.2014, 14:14
  • 2
    Я протестировал его на lubuntu 12.04, и это хорошо работает. Также Ваши более простые работы версии. Возможно, я don' t понимают Ваш комментарий :) – George 13.07.2014, 14:19
  • 3
    @Leiizia, что сделало Вас, делают cat file | awk '{print $1}', что я сделал awk '{print $1}' file. Я думаю, что Вы понимаете от этого. – George 13.07.2014, 14:22
  • 4
  • 5
    Извините, я don' t используют awk в моем ответе, где Вы находите его? – Ory Zaidenvorm 13.07.2014, 14:26

Очень просто:

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
3
ответ дан 07.10.2019, 12:42
  • 1
    Я ценю использование for – Cheeso 13.07.2014, 12:42
  • 2
    Ваше приветствие - отмечает, что другие ответы, такие как @xiaodongjie сделали (Вы могли, upvote их / выбирают их вместо этого :) –  13.07.2014, 12:46
  • 3
    постарайтесь не анализировать вывод cat команда. –  13.07.2014, 14:11
  • 4
    Команда @Pandya while главным образом используется для чтения файла линию за линией. Посмотрите обновление @Letizia' s ответ. – Community 13.07.2014, 14:12
  • 5

Что-то вроде этого:

#! /bin/bash
in_file=$1
out_file=$2

while read command
do
    whatis $command 
done < $in_file >> $out_file

я принял решение уехать stderr нетронутый, с тех пор если у Вас есть команда там, для которой whatis информация не доступна, Вы должны быть сделаны знающий о том (и посмотреть в другом месте, в случае необходимости).

2
ответ дан 07.10.2019, 12:42

Я думаю, что можно получить правильно результат со следующей командой.

$ 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 команда удаляют некоторые выходные строки Вы бесполезный.

Вопрос изменяется как теперь. Если все строки cmdlist.txt могут быть перечислены от whatis, Может использовать следующую команду в качестве простого пути.

whatis `cat 1.txt` 2>/dev/null > cmdinfo.txt

, Если Вам просто нужны строки, которые могут быть полностью перечислены от [1 110], Может использовать следующую команду в качестве simpleway.

whatis `cat 1.txt` > cmdinfo.txt

Однако можно выбрать один способ различных.

2
ответ дан 07.10.2019, 12:42
  • 1
    Нечетный. Начиная с ' ничто appropriate' строка печатается к stderr, почему Вы передали бы stderr по каналу к stdin и затем сняли бы ее? Лучше к простому перенаправлению stderr к /dev/null? – Adam Robinson 13.07.2014, 12:42
  • 2
    хорошо muru, считайте снова его вопрос. – EKanadily 13.07.2014, 12:45
  • 3
    Он требует для обработки "." строка в его демонстрационном тексте. – AFract 13.07.2014, 12:46
  • 4
    Я полагал, что точки замещающий знак . Несмотря на это, можно заменить команду: whatis $i 2>/dev/null >> cmd.txt. Никакая потребность в sed. – Lasse Vågsæther Karlsen 13.07.2014, 12:49
  • 5
    muru, хорошо, я уже думал это как простой путь, Но это удаляет "." строка. –  13.07.2014, 12:53

Теги

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