假设我有一个来自上一个命令的以换行符分隔的文件路径列表,我可以将其复制到剪贴板。粘贴此列表并将其提供给 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 之后,它会按预期将其传送到目标命令。