Search 跨多个文件搜索关键字并将其替换为文件名
我正在尝试对多个文件进行大规模搜索和替换,在这些文件中,我用当前文件的名称替换文件中的关键字,比如说Search 跨多个文件搜索关键字并将其替换为文件名,search,replace,filenames,Search,Replace,Filenames,我正在尝试对多个文件进行大规模搜索和替换,在这些文件中,我用当前文件的名称替换文件中的关键字,比如说myKeyword 因此,在file1.php中,短语myKeyword将变成file1; 在file2.php中,它将变成file2; 依此类推,直到所有文件都完成 我想知道是否可以使用脚本或文本编辑器功能实现这一点。使用GNU: $ for filename in $(find . -type f -name "*"); do sed -i "s/myKeyword/$(basename ${
myKeyword
因此,在file1.php中,短语myKeyword
将变成file1
;
在file2.php
中,它将变成file2
;
依此类推,直到所有文件都完成
我想知道是否可以使用脚本或文本编辑器功能实现这一点。使用GNU:
$ for filename in $(find . -type f -name "*"); do sed -i "s/myKeyword/$(basename ${filename} | cut -f 1 -d '.')/g" "${filename}"; done
:从文件名-basename
->path/到/file1.txt
file1.txt
:带文件扩展名-cut-f1-d'.
->file1.txt
file1
sed-i''s/myKeyword/…
(在-i
之后是空字符串'
)。请参阅此答案以了解差异: