Я новичок в Linux. Когда я это пробовал, я узнал о команде кота.Конвейеризация команд cat и ls
[email protected]:~$ cat file
Videos/Arrow/Season*
[email protected]:~$ cat file | ls -l
Команда отображает содержание текущей папки вместо папки, указанной в файле .. Но когда я сделал это
[email protected]:~$ cat file
Videos/Arrow/Season*
[email protected]:~$ ls -l $(cat file)
Содержимых ожидаемых дисплеев папок правильно. Почему я не могу использовать трубопровод в этом случае?
вы не можете «пропустить» текст в 'ls' для использования в качестве имен файлов. ls не принимает вход таким образом. вам придется использовать xargs, например. 'cat file | xargs ls -l'. xargs берет данные из stdin и передает его в указанную команду ('ls -l') в качестве аргументов командной строки. –