我有一个包含目录路径的文件,如:
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
答案 0 :(得分:1)
如果您只想在以“drivers”开头的行上进行更改,则可以执行
sed -i "/^drivers/s/_v[0-9]*//g" yourfile
这将删除所有“_v”后跟任意数字的实例。
如果“驱动程序”不在行的开头,请删除插入符号(^)。
答案 1 :(得分:0)
要从路径中删除_v:
sed -i "s/_v//g" fileName
注意:这将在原地编辑文件。