加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何使用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' {} ;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读