Как найти строку в результате сценария Unix - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть скрипт с именем "sample.sh", который содержит список имен файлов с их деталями.Имена файлов: file1.txt, file1.dat, .. и т. Д.

sample.sh содержит

<Contents>
   <Key>text1.dat</Key>
   <LastModified>date</LastModified>
   <Name>fjhdgfjsd</Name>
</Contents>
<Contents>
   <Key>text2.dat</Key>
   <LastModified>date</LastModified>
   <Name>fd-datastage</Name>
</Contents>

Я хочу найти количество файлов .dat или .txt.Я использовал приведенную ниже команду.Он работает, как и ожидалось.

sh sample.sh | grep ".dat"

Но я также получаю результаты для строк -dat и .dat.Вывод содержит

<Key>text1.dat</Key>
<Key>text2.dat</Key>
<Name>fd-datastage</Name>

Но я хочу отсортированный вывод в LastModified при запуске sample.sh. Пожалуйста, предложите любые команды.

Ответы [ 2 ]

0 голосов
/ 17 января 2019
grep "\.dat\|\.txt" sample.sh |wc -l

Это должно дать вам общее количество файлов .dat и .txt.

0 голосов
/ 27 декабря 2018

Попробуйте

grep '\.dat\>' sample.sh | less

Если он печатает только нужные вам строки, тогда ваше решение будет

grep -c '\.dat\>' sample.sh
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...