![如何将文件列表粘贴到命令中?](https://linux22.com/image/755514/%E5%A6%82%E4%BD%95%E5%B0%86%E6%96%87%E4%BB%B6%E5%88%97%E8%A1%A8%E7%B2%98%E8%B4%B4%E5%88%B0%E5%91%BD%E4%BB%A4%E4%B8%AD%EF%BC%9F.png)
假设我有一个来自上一个命令的以换行符分隔的文件路径列表,我可以将其复制到剪贴板。粘贴此列表并将其提供给 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 之后,它会按预期将其传送到目标命令。