Тут у мене є команда grep, яка працює неправильно:
cat file1.txt:
apples
Date: Sun, 24 Feb 2013 8:14:06 -0800
peaches melons
cherry sky cloud
green purple
yellow
cat file2.txt:
apples
Date
peaches melons 0800
cherry sky cloud
green purple
black
Тепер зламана команда:
egrep -lir "apples|melons|cherry" /home/test/* | xargs grep -l "Date" | xargs grep -l "0800"
Дивіться перший аргумент: файл повинен містити яблука АБО дині АБО вишні. Потім, другий аргумент: той самий файл повинен містити "Дата" та "0800" НА ІНШІЙ ЛІНІ
Отже file1.txt має відповідати, але не file2.txt - зараз обидва відповідають
Дякую за допомогу - я думаю, що мені потрібна греп з regexp, щоб відповідати команді типу "Дата: [будь-яка] [будь-яка] [будь-яка] 0800", щоб спіймати "Дата" та "0800" в одному рядку ....
Замість того, щоб дати нам цю дуже довгу, але зламану команду, не залишаючи нас здогадуватися, що вона робить, і чим це відрізняється від того, що ви хочете, чи могли б ви надати нам замість прикладу чи двох, що показують зразок введення та бажаний вихід?
—
Ніколь Гамільтон