![](/img/trans.png)
[英]How to remove commas in the middle of a specific line in a file in linux/unix
[英]How to remove specific “][” in linux
我有很多括号的文本文件,如下所示:
Name:[Sara,Jane,John]
FamilyName: [Alexandr,Walter,Waze]
Number: [21][44]
我只想删除 Number 中的 ][ 并使文件如下所示:
Name:[Sara,Jane,John]
FamilyName: [Alexandr,Walter,Waze]
Number: [2144]
下面的代码删除了所有括号并且无法正常工作,我真的可以帮助我修改此代码吗?
find . -name "*.txt" |xargs sed -i.bak -e 's/[][]//g;' '{}'
最好的问候,萨拉
$ sed '/Number/ s/]\[//' ip.txt
Name:[Sara,Jane,John]
FamilyName: [Alexandr,Walter,Waze]
Number: [2144]
/Number/
匹配包含Number
的行
s/]\[//
将删除第一次出现的][
[
需要转义以匹配它 [][]
将匹配]
或[
字符一次。 然后使用g
标志将删除所有方括号。 在此示例中,您不应使用字符 class,因为您希望以特定顺序匹配]
和[
。
再举一个例子,要删除foo
,您需要使用s/foo//
而不是s/[foo]//
。
您能否仅根据您显示的示例尝试以下操作。
awk '/Number/{gsub(/]\[/,"")} 1' Input_file
解释: /Number/
正在寻找当前行中的字符串Number
,如果找到; 然后使用gsub
将][
全局替换为 NULL。 1
将打印当前行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.