我只需要一个任务,我需要用固定值替换制表符分隔文件中的每个第3个值。我想它可以在Unix shell上的Perl中完成,如此
$perl -a -n -i -F'/\t/' -e '$F[2]="THE FIXED VALUE";print join "\t", @F' bla.txt
我只是想知道这是否是一种“正确”的方式,或者是否有更好的方法(目前缺乏更好的定义)?
答案 0 :(得分:3)
我认为你的单行是合理的,可读的。还有很多方法可以做到这一点。我会堆叠perlrun选项并保存一些按键:
perl -F'\t' -i -ape'$F[2]="THE FIXED VALUE"; $_ = join "\t", @F' bla.txt
遗憾的是$,
没有填充-F
的参数,所以仍有一段重复。