簡體   English   中英

遞歸更改每個目錄下的所有單詞出現

[英]change all word occurrences under each directory recursively

在某個目錄下搜索后,我可以更改一個單詞了嗎:例如,將所有.c文件中的abc單詞更改為ddd

grep --include=\*.c -rnw '/path/to/somewhere/' -e "abc"

然后如何將這些出現修改為ddd 什么是命令行?

我猜你在Linux上...好嗎?

很簡單:

find <directory> -type f -name \*.c -print0 | xargs -0 -t sed -i 's/abc/ddd/g'

該命令的第一部分將在“目錄”下找到所有擴展名為.c的文件(您必須在此處使用真實目錄名稱(例如,使用單個“。”(點)來查找當前目錄))。然后,擴展名.c通過xargs傳遞給sed ,它將用“ ddd”替換“ in-place”所有出現的“ abc”。 請注意 :此命令會將所有“ abc”替換為“ ddd”(“ abc”>“ ddd”,“ abcdefg”>“ ddddefg”等)。如果您需要其他內容或研究這些命令的工作方式:

man find
man xargs
man sed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM