如何从shell脚本的输出中读取一行并删除该文件

时间:2015-09-28 07:40:56

标签: shell sh

我有脚本显示必须从目录中删除的文件。输出在命令提示符下可见。所以我必须从命令提示符读取包含文件路径的那些行,现在运行一个新的命令通过使用路径作为命令的新参数,以便删除这些文件。那么如何做到这一点。

例如,要删除的文件几乎可以在目录的5个级别中。

1 个答案:

答案 0 :(得分:0)

这可以通过将脚本的输出传递给新命令来完成,例如:

/path/to/script.sh | xargs rm

我在这里做了一些假设。首先,使用完整路径或相对于cwd的相对路径(例如,不仅仅是文件名)给出文件的名称,其次,脚本在新行上打印出每个文件。

如果脚本只返回文件名而没有路径,您是否可以保证删除所有具有该名称的文件?如果是这种情况,您可以执行以下操作

/path/to/script.sh | awk '{print " -name " $1}' | xargs find . | xargs rm