2014-03-26 43 views
5

示例文件:abc.ksh如何用grep 「 n」 個文件

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 

作爲輸出。

+0

Linebreak決定行結束;線路中間不能有換行符。 –

+0

你想要echo來實際打印\ n字符串或跳到下一行嗎? – vicsana1

+2

退出反斜槓:'grep'\\ n'abc.ksh' - 不客氣:-) –

回答

9

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

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

man grep

-F,--fixed串

解釋圖案作爲固定的字符串的列表,由換行分隔,其中 任何的是要匹配。 (-F由POSIX指定。)

2

你可以試試這樣用另一個反斜槓反斜槓:

grep '\\n' xyz.ksh 
4

簡單地逃避與另一個反斜槓反斜槓,把單引號中的正則表達式這樣shell就傳遞不處理反斜槓到grep本身:

grep '\\n' abc.ksh 
4

最簡單方法是使用正則表達式:

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版本。