bash脚本,替换目录路径

时间:2014-03-15 18:24:39

标签: bash shell

我有一个包含目录路径的文件,如:

drivers/i2c_v1/init.c
drivers/spi_v3/init.c
drivers/usb_v5/init.c
drivers/pci_v9/init.c

我需要查明特定行是否是目录路径(目录路径始终以" drivers /"开头)以及如何删除包含字符串的路径段的一部分" _v"

根据上面的例子,所需的结果是:

drivers/i2c/init.c
drivers/spi/init.c
drivers/usb/init.c
drivers/pci/init.c

2 个答案:

答案 0 :(得分:1)

如果您只想在以“drivers”开头的行上进行更改,则可以执行

sed -i "/^drivers/s/_v[0-9]*//g" yourfile

这将删除所有“_v”后跟任意数字的实例。

如果“驱动程序”不在行的开头,请删除插入符号(^)。

答案 1 :(得分:0)

要从路径中删除_v:
sed -i "s/_v//g" fileName
注意:这将在原地编辑文件。