У меня есть файл abc.txt в моей домашней папке.

~$ cat abc.txt
ls
date

Я хочу, чтобы выполнить команду grep, как
~$ grep 'dat' abc.txt
который дает дату в результате, а date - это команда оболочки. Поэтому я хочу выполнить команду, которую я получил в результате поиска (дата) grep в той же строке команды grep.

Возможно ли это с помощью | оператор как
~$ grep 'dat' abc.txt | [Some command syntax like xargs] который дает результат текущего времени, как пт 4 ноября 18:55:06 IST 2016

1 ответ1

0

Это то, что тебе надо?
примечание: это использует оболочку bash

# cat abc.txt  
test line 1
date +%F  
test line 3

# $(grep dat abc.txt)  
2016-11-04  

Вам нужно быть осторожным в том, что вы фильтруете из команды grep - все это будет запущено в оболочку - как одна команда! Таким образом, получите соответствие одной строки с вашим фильтром.

PS: Должен быть лучший способ для этого, но теперь он ускользает от меня.
Помогло бы узнать, что вы действительно пытаетесь сделать здесь.

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