Я использую Gitbash в Windows. Я хочу grep для набора строк, каждый из которых заканчивается символом |Grep для нескольких строк с экранированной трубой в каждом
Я думаю, что я могу сделать, каждый из которых по отдельности с помощью обратной косой черты, чтобы избежать трубы:
grep abcdef\| filename.tsv
Но чтобы сделать их все вместе, я в конечном итоге с:
grep 'abcdef\|\|uvwxyz\|' filename.tsv
которая выйдет из строя. Есть идеи?
Я мог бы просто сделать каждую строку индивидуально, а затем объединить полученные файлы, но это займет несколько дней.
Остерегайтесь нескольких уровней цитирования. Когда вы печатаете 'grep abcdef \ | filename.tsv', обратная косая черта не позволяет интерпретатору интерпретировать трубу и пытается вывести вывод grep abcdef в команду 'filename.tsv'. Но то, что 'grep' фактически получает в качестве своего первого аргумента, - это просто' abcdef | 'без обратной косой черты - это то, что вы хотите с основными регулярными выражениями' grep'; трубы с незаполненной спинкой берутся буквально. Когда вы помещаете аргумент в одинарные кавычки, теперь обратная косая черта переходит в 'grep', что полностью изменяет то, о чем вы просите. –