我試圖掃描錯誤日誌中有503個錯誤的行,所以我正在尋找" 503
(引用空間503)。帶引號的grep
這看似簡單,但它不會工作:
grep '" 503 ' access.log
我得到以下錯誤:
bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file
我試圖掃描錯誤日誌中有503個錯誤的行,所以我正在尋找" 503
(引用空間503)。帶引號的grep
這看似簡單,但它不會工作:
grep '" 503 ' access.log
我得到以下錯誤:
bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file
該問題是由於.bashrc
中的一些錯誤指令造成的。
好像你是通過一些系統中運行它()在一些語言,你不是嗎?嘗試:
grep '\" 503 ' access.log
或:
grep "\" 503 " access.log
直接在外殼只是grep '" 503 ' access.log
會工作。要重現您的問題,我必須做:
bash -c 'grep '\" 503 ' access.log'
這確實是語法錯誤。爲了做到這一點,我需要:
bash -c 'grep "\" 503 " access.log'
你是不知何故叫bash -c ...
。也許間接。你需要指出你是如何調用它來找出碰撞中的引號。
否,直接在炮彈中。我已經嘗試過你提示沒有運氣的兩個例子。 – dtbarne
這很奇怪。你能發佈「type grep」和「echo $ 0」的輸出嗎? –
要調試這樣的奇怪效果,請使用「set -x」顯示shell擴展以及計算機對您的命令的看法。
我相信我現在正在工作(不確定,因爲我沒有結果,但沒有得到一個錯誤)。
的原因是因爲我使其通過SSH如下命令,我相信SSH是做一些掛羊頭賣狗肉逃生:
ssh 123.123.123.123 grep '" 503 ' access.log
它Modifiying這似乎是修復:
ssh 123.123.123.123 "grep '\" 503 ' access.log"
感謝大家的時間。
這應該工作。你確定你沒有別名grep或類似的東西? 「哪個grep」? 「type grep」? – pyroscope
錯誤消息顯示「bash -c」,那麼你是否在嘗試在單引號內嵌入單引號? –
嗯,按照你的意願在bash中爲我工作 –