我想從一個以'Residue XXX'開頭的文件grep一行。它只適用於'Residue',但不起作用,如果我有'Residue XXX'這種行爲的任何原因?爲什麼在這個例子中「grep」的行爲有所不同?
這是工作:
grep '^Residue' log.txt
Residue XXX highDenisity
,而不是工作:
grep '^Residue XXX' log.txt
我想從一個以'Residue XXX'開頭的文件grep一行。它只適用於'Residue',但不起作用,如果我有'Residue XXX'這種行爲的任何原因?爲什麼在這個例子中「grep」的行爲有所不同?
這是工作:
grep '^Residue' log.txt
Residue XXX highDenisity
,而不是工作:
grep '^Residue XXX' log.txt
握住你的手,如果你認爲有Residue
和XXX
之間的製表符。
合理的猜測。你會幫助如何診斷? ('grep'^ Residue'log.txt | od -c'想起來。) –
@JonathanLeffler - 我正在挖掘'cat'文檔來尋找可以打印出標籤的東西。我想,使用更好的正則表達式。 – Malvolio
哦,是的,'貓'從伯克利揮舞着旗幟回來......(SO或谷歌搜索應該可以找到;也可以參考http://quotes.cat-v.org/programming/)。 'cat -v'幾乎可以完成這項工作('v'代表'visible',但是你也需要'-t'來查看標籤;它意味着'-v')。 –
改爲使用空白不可知的正則表達式。
grep '^Residue\s*XXX' log.txt
這個正則表達式涵蓋了多個標籤或一個標籤和單詞之間的空格。
由於某些原因,這在MacOS上不起作用。 – Malvolio
@KeepCalmAndCarryOn - 顯然不是:第一個grep工作。 – Malvolio
嘗試:'grep'^ Residue.XXX'log.txt'。用'od -c'或'cat -t'來看看它返回的結果。 –
哇!它有它的選項卡 –