linux 如何在文件中grep“\n”

rdrgkggo  于 11个月前  发布在  Linux
关注(0)|答案(6)|浏览(174)

示例文件:abc.ksh

echo "This is a sample file." >> mno.txt
echo "\nThis line has new line char." >> mno.txt

字符串
我想

echo "\nThis line has new line char." >> mno.txt


作为输出。

xdnvmnnf

xdnvmnnf1#

使用-F匹配固定字符串:

$ grep -F "\n" file
echo "\nThis line has new line char." >> mno.txt

字符串
man grep

-F,--固定字符串

将PATTERN解释为固定字符串的列表,由换行符分隔,其中任何一个都将被匹配。(-F由POSIX指定。)

swvgeqrz

swvgeqrz2#

最简单的方法是使用REGEX:

grep "$" filename  # this will match all lines ending with "\n" (often all lines)
grep "PATTERN$"    # this will match all lines ending with "PATTERN\n"

字符串
在REGEX语言中,$意味着EOL(行尾),因此它通常会匹配"\n"(原因是行尾)。
注意:请小心使用支持REGEX!的grep版本。

2uluyalo

2uluyalo3#

简单地用另一个反斜杠转义反斜杠,并将正则表达式放在单引号中,这样shell就可以将它传递给grep,而不需要处理反斜杠本身:

grep '\\n' abc.ksh

字符串

wljmcqd8

wljmcqd84#

正则表达式模式搜索

grep -P '\n' mno.txt

字符串

uplii1fm

uplii1fm5#

第一个月

  • -z -将所有\n更改为零字节
  • -o - show only diff(因为整个文件现在是grep的一行)
  • -P - perl regexp

查找\n和前后行

j2qf4p5b

j2qf4p5b6#

你可以尝试用另一个反斜杠来转义反斜杠:

grep '\\n' xyz.ksh

字符串

相关问题