bash - 如何在 bash stdout 中将多行转换为一行?

标签 bash shell

我有时会在我的 shell 中这样做:

sam@sam-laptop:~/shell$ ps aux | grep firefox | awk '{print $2}'
2681
2685
2689
4645

$ kill -9 2681 2685 2689 4645

有没有一种方法可以将包含 PID 的多行转换为由空格分隔的一行? (每次都要敲PID有点烦,好想学习:))

非常感谢。

最佳答案

最简单的方法是使用 xargs

ps aux | grep firefox | awk '{print $2}' | xargs kill -9

这将同时调用所有 pid 的 kill 命令。 (正是你想要的)

关于bash - 如何在 bash stdout 中将多行转换为一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2224269/

相关文章:

bash - 使用 read line do 读取多行

bash - 历史扩展在 .zshrc 函数中不起作用

python - 如何从 Flask 应用程序执行 Shell 脚本

bash - windows bash 和 windows 命令行中的 Git 情况不同

bash - 在非登录 shell 中执行的 shebang 中执行 bash 脚本的正确语法是什么

c++ - 查找命令行参数数组中的元素数量?

linux - -bash : command substitution: syntax error near unexpected token |'

java - 如何在 commons-exec 下从 Java 中启动 VI?

bash - 使用 tee 输出时保留颜色

path - 附加到 $PATH 与使用别名 : Which is better?