sa2*_*289 7 bash quoting newlines
使用 fgrep 时,手册页说它会
将 PATTERN 解释为由换行符分隔的固定字符串列表,其中任何一个都将被匹配。
在 bash 中,将换行符插入 PATTERN 参数的正确方法是什么(即,它会根据手册页匹配任何行)。
我试过以下没有运气:
fgrep word1\nword2
fgrep word1\rword2
fgrep "word1\nword2"
fgrep "word1\rword2"
Run Code Online (Sandbox Code Playgroud)
如果可能,我希望命令都在一行上。
这可以通过使用$'\n'
语法来完成(参见/sf/answers/222776361/)。例如:
fgrep word1$'\n'word2
Run Code Online (Sandbox Code Playgroud)
或者你可以用这种方式包装整个 PATTERN(信用 don_crissti)
fgrep $'word1\nword2\nword3'
Run Code Online (Sandbox Code Playgroud)
grep -F 'word1
word2' infile
Run Code Online (Sandbox Code Playgroud)
或者,如果您喜欢一行:
grep -F -e 'word1' -e 'word2' infile
Run Code Online (Sandbox Code Playgroud)