Regex 我们可以在另一个awk命令中运行awk/sed命令吗?
我有以下字符串:Regex 我们可以在另一个awk命令中运行awk/sed命令吗?,regex,bash,awk,sed,Regex,Bash,Awk,Sed,我有以下字符串: 虚拟数据 笨蛋 >DummyDataasdadblaDummy数据 从不鼓励从awk或perl调用awk或sed或perl 在这种情况下,您只需要: perl -pe 's{<T"(\d+)">(.*?)</Test>}{<T$1>$2</T$1>}g' file perl-pe的{(.*?}{$2}g'文件 生产 <T4567>Dummy Data</T4567> <T0023><
虚拟数据
笨蛋
>DummyDataasdadblaDummy数据
从不鼓励从awk或perl调用awk或sed或perl
在这种情况下,您只需要:
perl -pe 's{<T"(\d+)">(.*?)</Test>}{<T$1>$2</T$1>}g' file
perl-pe的{(.*?}{$2}g'文件
生产
<T4567>Dummy Data</T4567>
<T0023><Tag1>Dummy</Tag1></T0023>
>DummyData<T0001><Tag2>asdad</Tag2><Tag3>bla</Tag3><Tag4>Dummy Data</Tag4></T0001>
RandomString<T0014>Dummy2 </T0014>
虚拟数据
笨蛋
>DummyDataasdadblaDummy数据
随机序列Dummy2
当数据除问题行外没有双引号时,您可以使用sed:
while IFS=\" read -r f1 f2 f3; do
echo "${f1}${f2}$(echo "${f3}" |sed 's#</Test>#</T'${f2}'>#')"
done < Big_FILE
而IFS=\“读取-r f1;执行
echo“${f1}${f2}$(echo“${f3}”| sed's###')
完成