Perl 替换文件中的文本并为新字符串添加编号
我希望替换文件中出现的每一个字符串,但替换方式是对新文本进行编号。例如: 发件人: 致:Perl 替换文件中的文本并为新字符串添加编号,perl,sed,awk,Perl,Sed,Awk,我希望替换文件中出现的每一个字符串,但替换方式是对新文本进行编号。例如: 发件人: 致: 如何在命令行中执行此操作?使用awk的单向操作: perl -lape '@F[0,1] = ($F[1], "baz". ++$i); $_= "@F"' file $ awk '{gsub(/foo bar/,"bar baz"++i)}1' file bar baz1 a bar baz2 b bar baz3 c 带awk的单向开关: $ awk '{gsub(/foo bar/,"bar ba
如何在命令行中执行此操作?使用awk的单向操作:
perl -lape '@F[0,1] = ($F[1], "baz". ++$i); $_= "@F"' file
$ awk '{gsub(/foo bar/,"bar baz"++i)}1' file
bar baz1 a
bar baz2 b
bar baz3 c
带awk的单向开关:
$ awk '{gsub(/foo bar/,"bar baz"++i)}1' file
bar baz1 a
bar baz2 b
bar baz3 c
使用shell
#! /usr/bin/bash
i=0
while read a b c
do
((i++))
echo "bar baz$i $c"
done < file
#/usr/bin/bash
i=0
读一本b c
做
((i++)
echo“bar baz$i$c”
完成<文件
使用shell
#! /usr/bin/bash
i=0
while read a b c
do
((i++))
echo "bar baz$i $c"
done < file
#/usr/bin/bash
i=0
读一本b c
做
((i++)
echo“bar baz$i$c”
完成<文件
+1。如果愿意,您可以使用NR而不是++i。@EdMorton没有足够的信息,假设出现不一定每行出现一次。sub()就足够了。@BMW参考我之前的注释。+1。如果愿意,您可以使用NR而不是++i。@EdMorton的信息不够,假设出现不一定每行出现一次。sub()就足够了。@BMW请参阅我之前的评论。