Я делаю это: file $(ls -td -1 /usr/bin/* | grep zip)
, но вывод:
/usr/bin/preunzip: cannot open `/usr/bin/preun\033[01;31m\033[Kzip\033[m\033[K' (No such file or directory)
/usr/bin/prezip: cannot open `/usr/bin/pre\033[01;31m\033[Kzip\033[m\033[K' (No such file or directory)
...
...
Как можно видеть, после передачи в grep имя файла изменяется на некоторый tra sh (033[01;31...
), и, таким образом, команда file
не может открыть этот тра sh. Как сделать, чтобы grep (после передачи по каналу) не менял шаблон (имена файлов в моем случае), который будет использоваться для другой команды?
PS: без grep, он обычно работает: file $(ls -td -1 /usr/bin/*)
:
/usr/bin/js: symbolic link to /etc/alternatives/js
/usr/bin/git: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f400072e5b2d2e09190d4258071d7502497aa5e3, for GNU/Linux 3.2.0, stripped
Таким образом, grep
вызывает проблему здесь