用于删除以文件中列出的文本开头的文件的脚本

时间:2019-03-30 09:53:55

标签: bash

我有一个strings.txt文件,其中包含这样的字符串列表:

0100101
0100102
0100103
0100104
...

我需要创建一个脚本,从上一个文件中包含的每个字符串开始,删除目录中的所有文件。

如果目录中有这些名称的文件,则应将其删除:

0100101.jpg
0100101-01.jpg
0100101A1.jpg

如果目录中有这些名称的文件,则不应删除它们:

40100101.jpg
570100102.jpg
340100104-02.jpg

你能帮我吗?

1 个答案:

答案 0 :(得分:1)

您可以结合使用cat和xargs来实现这一目标

cat strings.txt | xargs -t -I{} sh -c 'rm {}*' 

有关xargs的更多信息:http://man7.org/linux/man-pages/man1/xargs.1.html