我正在尝试使用sed为我目录中的每个文件替换子句字符串“Dog_1”和“Dog_2”。
文件名如下所示:Dog_1_interictal_segment_0472.csv
这是我正在使用的命令:
sed -i '' s/Dog_1/Dog_2/g *.csv
由于某种原因,子串未被替换。
答案 0 :(得分:3)
哦,你正试图重命名文件?你无法使用sed
;它会更改文件的内容,而无需重命名。这是我如何重命名:
for a in Dog_1*.csv; do
mv "$a" "Dog_2${a#Dog_1}"
done
答案 1 :(得分:1)
由于问题涉及重命名文件,因此最好rename
使用它们。
此应用程序的语法与sed
' s非常相似:
rename 's/Dog_1/Dog_2/' *.csv
如果是这样的话,您也可以执行全局重命名:
rename 's/Dog_1/Dog_2/g' *.csv