![](/img/trans.png)
[英]Find and replace inside a string variable using sed command - shell scripting
[英]Partially replace string using 'sed' shell command
我需要按照以下模式删除<#>:
vdd1a<1>
vdd1b<2>
vdd1c<3>
....
输出应类似于:
vdd1a
vdd1b
vdd1c
...
我正在尝试执行sed 's/\\(vdd1[az]*\\).<[0-9]>/\\1/' file1 > file2
但这一直给我“ vdd1”。
如何正确执行?
点.
括号中的字母与1之后的字母匹配。您需要删除它。 也就是说,
sed 's/\(vdd1[a-z]*\)<[0-9]>/\1/' file1 > file2
或者,您可以将<[0-9]>
替换为空白模式,即
sed 's/<[0-9]>//' file1 > filed
如果除了<#>
部分中的行之外,这些行中不包含其他<
,则可以避免使用sed
而改用诸如cut
东西,例如:
cut -d"<" -f1 <<< "vdd1a<1>"
将打印:
vdd1a
用文件调用它:
cut -d"<" -f1 < file1 > file2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.