我有一個包含以下文本的文件example.txt中:grep的文字:
[one]: bla bla bla onebla twobla
[two]: hey heya noheya
[onemore]: i got mad and etc
我需要到grep和只顯示文本後[myword]:
試圖測試grep [myword] /tmp/example.txt | cut -d ':' -f 2
在它打印所有括號後各[myword]
,但我怎麼能得到的只有一個我只需要和不呢?
我有一個包含以下文本的文件example.txt中:grep的文字:
[one]: bla bla bla onebla twobla
[two]: hey heya noheya
[onemore]: i got mad and etc
我需要到grep和只顯示文本後[myword]:
試圖測試grep [myword] /tmp/example.txt | cut -d ':' -f 2
在它打印所有括號後各[myword]
,但我怎麼能得到的只有一個我只需要和不呢?
您可以剪切前半句[something]:
,並使用
grep和sed中得到休息:
$ grep -w "\[onemore\]:" words.txt | sed 's/\[onemore\]://g'
i got mad
的grep和awk:
$ grep -w "\[onemore\]:" words.txt | awk -F: '{print $2}'
i got mad
我需要得到這個輸出,例如:「grep的[一個更多]:words.txt」結果我需要得到:「我生氣了」 – alya
@alya 無論是你的詞/短語將它添加到雙引號: 'grep的-o -w「我生氣了」 words.txt' 將導致到:'我生氣了' –
@alya:對於最後的評論,我很抱歉,沒有看到你發佈的確切的grep輸入。 我編輯了我的答案,給你你想要的。 –
感謝所有!得到了從Unix & Linux的其他答案:
$ awk '/\[myword\]/{sub(/^[^]]*\]:[[:blank:]]*/,"");print}' example.txt
OR
$ awk '/\[myword\]/{sub(/^[^]]*\]:[[:blank:]]*/,"");print}' example.txt
沒有'[myword]'在輸入 – anubhava
什麼是你想怎麼辦? – Chris
我只需要打印某些括號後的測試。例如,我只想打印文本,在行'[一]:'而不是'後[二]:'或'[onemore]:'線,從而使輸出將是'唧唧歪歪onebla twobla'。如果我想以後'[onemore]打印所有:' - 正確的輸出應該是'我生氣的etc' – alya