【发布时间】:2014-12-25 23:24:54
【问题描述】:
我正在尝试使用 sed 将目录中每个文件的子字符串“Dog_1”替换为“Dog_2”。
文件名如下所示:Dog_1_interictal_segment_0472.csv
这是我正在使用的命令:
sed -i '' s/Dog_1/Dog_2/g *.csv
由于某种原因,子字符串没有被替换。
【问题讨论】:
-
''实际上应该包含这个表达式。如sed -i 's/Dog_1/Dog_2/g' *.csv。 -
你的替换字符串 literally
Dog_1和Dog_2,还是需要 shell 转义等的其他字符串? -
@Rubens 虽然我同意应该引用 sed 脚本,但实际上并不需要它。这些空引号的原因是
-i在 OS X 上采用了非可选后缀,因此-i ''在没有备份文件的情况下就地编辑。 -
@bux 不知道
-i在 OS X 上有一个可选参数。感谢您指出这一点!