Regex 使用sed删除所有文本
格式: [标题]{}“UC(icl>限制)”(属性);(光泽) testme.txt文件有两行Regex 使用sed删除所有文本,regex,sed,awk,Regex,Sed,Awk,格式: [标题]{}“UC(icl>限制)”(属性);(光泽) testme.txt文件有两行 [testme] {} "acetify" (V,lnk,CJNCT,AJ-V,VINT,VOO,VOO-CHNG,TMP,Vo) <H,0,0>; [newtest] {} "acid-fast" (ADJ,DES,QUAL,TTSM) <H,0,0>; 到目前为止,我取得的成就是: cat testme.txt | sed's/////g'| sed's/////g'|
[testme] {} "acetify" (V,lnk,CJNCT,AJ-V,VINT,VOO,VOO-CHNG,TMP,Vo) <H,0,0>;
[newtest] {} "acid-fast" (ADJ,DES,QUAL,TTSM) <H,0,0>;
到目前为止,我取得的成就是:
cat testme.txt | sed's/////g'| sed's/////g'| sed's//{}/=/g'| sed's//\“//”
testme=acetify”(V、lnk、CJNCT、AJ-V、VINT、VOO、VOO-CHNG、TMP、Vo);
newtest=耐酸性”(形容词、DES、QUAL、TTSM);
如何删除从第二个“到行尾的所有文本?删除双引号空格Open圆括号
”之后的所有内容(
:
删除双引号空格Open圆括号后的所有内容():
使用
awk
,整个过程可能会快一点:
awk 'NF > 0 { print $1 " = " $3 }' testme.txt | tr -d '[]"'
使用
awk
,整个过程可能会快一点:
awk 'NF > 0 { print $1 " = " $3 }' testme.txt | tr -d '[]"'
这是使用awk而不是所有那些不必要的
sed
命令的方式。您需要的是字段1和字段3。使用gsub()
删除引号和括号
$ awk '{gsub(/\"/,"",$3);gsub(/\]|\[/,"",$1);print $1" = "$3}' file
testme = acetify
newtest = acid-fast
这是使用awk而不是所有那些不必要的
sed
命令的方式。您需要的是字段1和字段3。使用gsub()
删除引号和括号
$ awk '{gsub(/\"/,"",$3);gsub(/\]|\[/,"",$1);print $1" = "$3}' file
testme = acetify
newtest = acid-fast
您对
sed
的整个多个调用序列可以替换为:
sed 's/\[\([^]]*\)][^"]*"\([^"]*\).*/\1 = \2/' inputfile
您对
sed
的整个多个调用序列可以替换为:
sed 's/\[\([^]]*\)][^"]*"\([^"]*\).*/\1 = \2/' inputfile