如何使用perl oneliner循环遍历许多文件
发布时间:2020-12-16 06:05:45 所属栏目:大数据 来源:网络整理
导读:我试图使用perl衬里在第4行添加一行到许多perl文件.我在用 : perl -pi -le 'print " cell_type = pad;" if $. ==4' *.cell.plt 但这只是改变我目录中的第一个文件,而不是所有文件.如何一次在所有文件中插入行.我试过几种方法,但总是失败.请帮忙.谢谢. 解决
我试图使用perl衬里在第4行添加一行到许多perl文件.我在用 :
perl -pi -le 'print " cell_type = pad;" if $. ==4' *.cell.plt 但这只是改变我目录中的第一个文件,而不是所有文件.如何一次在所有文件中插入行.我试过几种方法,但总是失败.请帮忙.谢谢. 解决方法
你只是从一个文件句柄读取,所以只有一行4.幸运的是,有一种方法可以重置$..
perl -i -ple' print " cell_type = pad;" if $. == 4; close ARGV if eof; ' *.cell.plt (注意,eof与eof()不同.) 或者,您可以为每个文件执行perl find -maxdepth 1 -name '*.cell.plt' -type f -exec perl -i -ple'print " cell_type = pad;" if $. == 4' {} ; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |