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

如何使用 grep 搜索包含两个单词之一但不是两个单词的行?

我想在文本文件中搜索带有 'word1' XOR 'word2' 的行。所以它应该输出带有 word1、word2 的行,而不是带有这两个词的行。我想使用 XOR 但我不知道如何在 linux 命令行中编写它。

我试过:

grep 'word1\|word2' text.txt
grep word1 word2 text.txt
grep word1 text.txt | grep word2
grep 'word1\^word2' text.txt
Run Code Online (Sandbox Code Playgroud)

还有更多,但无法成功。

grep text-processing

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

标签 统计

text-processing ×2

grep ×1

shell ×1