1

Можно ли сделать команду в Linux с "двойными трубами", как это?

blah | blah | blah

3 ответа3

11

Да сколько угодно.

$ ls -al

дает это

total 25
drwxr-xr-x+ 1 nifle None 4096 2010-04-11 11:34 .
drwxrwxrwt+ 1 nifle root    0 2010-02-09 18:46 ..
-rw-------  1 nifle None 4581 2010-06-10 20:34 .bash_history
-rwxr-xr-x  1 nifle None 1150 2010-02-09 16:42 .bash_profile
-rwxr-xr-x  1 nifle None 3754 2010-02-09 16:42 .bashrc
-rwxr-xr-x  1 nifle None 1461 2010-02-09 16:42 .inputrc
-rwxrwxrwx  1 nifle None  308 2010-04-11 11:38 so.pl

Если я передам это через grep, sed и cut так:
$ ls -al | grep prof | sed 's/i/XX/g' | cut -c 10-
я получил
x 1 nXXfle None 1150 2010-02-09 16:42 .bash_profXXle

4

Да, вы можете использовать столько каналов, сколько хотите (и до тех пор, пока это имеет смысл с командами;))

1

Вы можете использовать столько каналов, сколько вы передаете в команду, которая принимает ввод.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .