小编tor*_*yan的帖子

运行 Zsh 首次使用向导

我在第一次配置 Zsh 时做了一个错误的选择,所以现在我想再次运行配置向导(第一次登录时运行的东西)。我该怎么做呢?

zsh configuration

34
推荐指数
2
解决办法
3万
查看次数

为什么命令 shuf file > file 会留下一个空文件,而类似的命令却不会?

我知道这是另一个问题的重复(为什么这个排序命令给我一个空文件?)但我想扩展这个问题以回应给出的答案。

命令

shuf example.txt > example.txt

返回一个空白文件,因为 shell 在对文件进行 shuffle 之前将其截断,只留下一个空白文件进行 shuffle。然而,

cat example.txt | shuf > example.txt

将按预期生成一个混洗的文件。

当简单重定向不起作用时,为什么管道方法起作用?如果文件在命令运行之前被截断,第二种方法不应该也留下一个空文件吗?

shell pipe io-redirection

9
推荐指数
2
解决办法
1万
查看次数

从 awk 输出中抑制/删除回车

我有一个简单的命令可以从服务器列表中返回正常运行时间/平均负载,并使用 awk 来格式化输出:

for i in $(cat servers); do ssh $i -qt "uptime" | awk -F\, -v host=\"$i\" '{ print host, $4, $5, $6 }'; done

这相当有效:

"server1"   load average: 0.22  0.37  1.99
"server2"   load average: 0.22  0.37  1.99
"server3"   load average: 5.96  4.39  5.66
Run Code Online (Sandbox Code Playgroud)

不幸的是,最后一个字段必须包含回车符,这意味着它不能出现在命令的末尾以外的任何地方。例如:

for i in $(cat servers); do ssh $i -qt "uptime" | awk -F\, -v host=\"$i\" '{ print host, $6, $5, $4 }'; done

输出:

0.64   load average: 0.17"  1.74
0.64   load average: 0.17"  1.74 …
Run Code Online (Sandbox Code Playgroud)

awk

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

awk ×1

configuration ×1

io-redirection ×1

pipe ×1

shell ×1

zsh ×1