Grep - Вывод строки, содержащие строку в столбце 3

В зависимости от временных рамок, необходимых для синхронизации, вы можете обойтись без использования двух процессов rsync. Настройте задание cron для запуска rsync -au на каждом хосте. Это должно поддерживать "синхронизацию" обоих хостов в течение определенного периода времени. Вы также можете использовать inotify для запуска rsync при каждом изменении файла.

0
09.03.2018, 03:47
4 ответа

Вы можете использовать регулярное выражение, привязанное к концу поля, вместо строкового соответствия:

awk -F: '$3 ~ /+ ID$/' < file.txt
Column1:Column2:Column3 + ID

или прикрепить к концу линии с помощьюgrep:

grep '+ ID$' < file.txt
Column1:Column2:Column3 + ID
3
28.01.2020, 02:32

Вы можете использовать substr следующим образом:

awk '{ if (substr($0,position,length)=="+  ID" { print $0 } }' myfile.txt
-1
28.01.2020, 02:32

Это можно сделать через

find dir -type f -exec grep -H '+ ID$' {} +

Это найдет все обычные файлы в каталоге dirили ниже, а затем запустит grep -H '+ ID$'пакетами из максимально возможного количества файлов. Результат будет содержать как имя файла, совпадающего с регулярным выражением, так и строки из совпавшего файла.

Чтобы получить только имена файлов, используйте -lвместо -Hс grep, а чтобы получить только совпадающие строки, используйте вместо этого -L.

Регулярное выражение + ID$будет соответствовать любой строке файла, содержащей точно такую ​​же строку + IDв самом конце строки.

Или без find, но с grep, который может выполнять рекурсию в подкаталоги:

grep -R '+ ID$' dir

В системах с grep, не выполняющим-H(это не -стандартная опция ), вместо этого вы можете использовать

find dir -type f -exec grep '+ ID$' /dev/null {} +

Если вам нужны только совпадающие строки (и отсутствие имен файлов )в такой системе, catфайлы вместе и grep,:

find dir -type f -exec cat {} + | grep '+ ID$'
0
28.01.2020, 02:32
grep -Pie '(Column\d:?){3} + ID$' file.txt > out.txt

если, например, Колонка 1 :повторение шаблона более 3, измените {3,}выше

0
28.01.2020, 02:32

Теги

Похожие вопросы