相关疑难解决方法(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万
查看次数

sed 可以替换换行符吗?

sed 和换行符有问题吗?
我有一个包含以下内容的文件 test.txt

aaaaa  
bbbbb  
ccccc  
ddddd  
Run Code Online (Sandbox Code Playgroud)

以下不起作用:
sed -r -i 's/\n/,/g' test.txt

我知道我可以使用tr它,但我的问题是为什么 sed 似乎不可能。

如果这是逐行处理文件的副作用,我会对为什么会发生这种情况感兴趣。我认为grep删除新行。sed 也一样吗?

sed

67
推荐指数
5
解决办法
22万
查看次数

标签 统计

sed ×1

shell ×1

text-processing ×1