相关疑难解决方法(0)

为什么使用 shell 循环处理文本被认为是不好的做法?

在 POSIX shell 中使用while 循环来处理文本通常被认为是不好的做法吗?

正如Stéphane Chazelas 所指出的,不使用 shell 循环的一些原因是概念可靠性易读性性能安全性

这个答案解释了可靠性易读性方面:

while IFS= read -r line <&3; do
  printf '%s\n' "$line"
done 3< "$InputFile"
Run Code Online (Sandbox Code Playgroud)

为了性能,从文件或管道读取时,while循环和读取非常慢,因为内置read shell一次读取一个字符。

怎么样的概念安全性方面?

shell text-processing

241
推荐指数
4
解决办法
5万
查看次数

将列表变成带分隔符的单行

我必须以这种格式获取 IP 地址列表(负载):

 134.27.128.0
 111.245.48.0
 109.21.244.0
Run Code Online (Sandbox Code Playgroud)

并将它们转换为这种格式,中间有一个管道(IP 组成)

134.27.128.0 | 111.245.48.0 | 109.21.244.0 | 103.22.200.0/22
Run Code Online (Sandbox Code Playgroud)

我认为这是一个查找和替换命令,sed但我无法让它工作。

shell text-processing

21
推荐指数
5
解决办法
3万
查看次数

标签 统计

shell ×2

text-processing ×2