如何将文件列表粘贴到命令中?

如何将文件列表粘贴到命令中?

假设我有一个来自上一个命令的以换行符分隔的文件路径列表,我可以将其复制到剪贴板。粘贴此列表并将其提供给 shell 中的另一个命令的最简单方法是什么?最好是,这样我仍然可以在执行命令之前编辑列表。例如,我想要rm一些由git status.

答案1

git 有一个用于删除未跟踪文件的命令。

git clean --exclude=<pattern> --dry-run  # Remove --dry-run to delete for real
git clean  --interactive # Or, interactive mode is a prompt version

或者,更通用的解决方案是将分隔字符串导入 xargs,以批量运行rm输入上的某些命令 ( )。尽管,这要求 stdin 仅包含文件列表。对于 git,这意味着使用旨在解析的管道命令。实际上,git clean对于这种特定用例,更容易使用。

答案2

到目前为止,我找到的最佳答案是

cat | xargs rm

我没有意识到这一点,但是在 Ctrl-D 之后,它会按预期将其传送到目标命令。

相关内容