我有一個包含'date'的行應該是'data'的多個文件,但只能在日期與行相同的行上進行更改「FIXME」用string2替換字符串只在行上以'// FIXME'開頭
find . -maxdepth 1 -type -f \(-name "*.cpp" -o -name "*.h" \) -exec grep FIXME {} \; | sed 's/date/data/g'
將輸出的變化,但如果我添加-i
到的sed我得到的錯誤。 所以我不能得到改變寫入磁盤這種方式。 我認爲這是因爲sed只能訪問緩衝區內容grep pull,並不知道它來自哪個文件。我正在猜測。 - 謝謝!
你能不能做到'grep的 「日期* FIXME。」 | sed's/date/data/g''? –
@ l19:OP想要替換原始文件。你的只是輸出替代結果。 – justhalf
@justhalf,我的意思是說他可以從'-exec'開始編輯他的命令。 –