美文网首页Perl学习笔记
Linux下批量删除文件

Linux下批量删除文件

作者: dming1024 | 来源:发表于2019-05-07 13:18 被阅读0次

    在Linux下,结合使用perl语言,可以对文件进行批量的重命名,删除,移动等,感觉很6的样子,就拿笔记记下来。具体问题是这样的,在我的文件夹下,有一串文件,但是只有两个文件是我需要的,我意图把其他全部删除,除了x,y文件夹,如下

     ls
    3e48014d-ce4a-4937-bba4-13eaf631a64a  a8f41106-633d-4027-9e1f-e73bfd48f11e
    51423d79-e9c5-4c4d-b12c-99c1338dbd43  aa5eb12e-6074-442a-9ff8-281b921e7d96
    5296cf00-4d8c-4db3-80d7-930a4b44f90d  b22b85eb-2ca8-4c9f-a1cd-b77caab999bd
    59a84472-27d4-497c-8f37-8bc447ff9374  bd3cdd86-a5ce-43dc-92b2-9c2c3105d1df
    5d5dfadb-f18d-4f19-aff4-166dac7b92df  c3df46a9-85d1-45d4-954a-825313d4a26d
    64e23e2f-ec04-4f6b-82b3-375e2d49804b  cc207fe8-ee0a-4b65-82cb-c8197d264126
    6c93f518-1956-4435-9806-37185266d248  d12371d7-18ff-4105-a4a0-59de52b82805
    76313658-c6df-4f73-8e04-affdbb0013bd  d3fa70be-520a-420e-bb6d-651aeee5cb50
    7837f512-39c2-4c7c-a338-43e51a54701c  e3ad739d-6baa-4c42-a6f7-786d069239c1
    81ac2c46-37db-4dcd-923a-061a7ae626a3  x
    995c0111-d90b-4140-bee7-3845436c3b42  y
    

    如果一个个用rm删除比较费时费力,就想到尝试利用perl语言!

     ls | perl -alne 'if(/.{2,}/){print "rm -r $_"};' #{2,}匹配两个字符以上的文件夹
    rm -r 3e48014d-ce4a-4937-bba4-13eaf631a64a
    rm -r 51423d79-e9c5-4c4d-b12c-99c1338dbd43
    rm -r 5296cf00-4d8c-4db3-80d7-930a4b44f90d
    rm -r 59a84472-27d4-497c-8f37-8bc447ff9374
    rm -r 5d5dfadb-f18d-4f19-aff4-166dac7b92df
    rm -r 64e23e2f-ec04-4f6b-82b3-375e2d49804b
    rm -r 6c93f518-1956-4435-9806-37185266d248
    rm -r 76313658-c6df-4f73-8e04-affdbb0013bd
    rm -r 7837f512-39c2-4c7c-a338-43e51a54701c
    rm -r 81ac2c46-37db-4dcd-923a-061a7ae626a3
    rm -r 995c0111-d90b-4140-bee7-3845436c3b42
    rm -r a8f41106-633d-4027-9e1f-e73bfd48f11e
    rm -r aa5eb12e-6074-442a-9ff8-281b921e7d96
    rm -r b22b85eb-2ca8-4c9f-a1cd-b77caab999bd
    rm -r bd3cdd86-a5ce-43dc-92b2-9c2c3105d1df
    rm -r c3df46a9-85d1-45d4-954a-825313d4a26d
    rm -r cc207fe8-ee0a-4b65-82cb-c8197d264126
    rm -r d12371d7-18ff-4105-a4a0-59de52b82805
    rm -r d3fa70be-520a-420e-bb6d-651aeee5cb50
    rm -r e3ad739d-6baa-4c42-a6f7-786d069239c1
    

    再bash以下上述命令

     ls | perl -alne 'if(/.{2,}/){print "rm -r $_"};' | bash
     ls
    x  y#只剩下我的目标文件了
    

    相关文章

      网友评论

        本文标题:Linux下批量删除文件

        本文链接:https://www.haomeiwen.com/subject/lzjeoqtx.html