我想用逗号分隔文本 ,
而不是空格 `in
for foo in list。假设我有一个 CSV 文件
CSV_File` 里面有以下文本:
Hello,World,Questions,Answers,bash shell,script
...
我使用以下代码将其拆分为几个单词:
for word in $(cat CSV_File | sed -n 1'p' | tr ',' '\n')
do echo $word
done
它打印:
Hello
World
Questions
Answers
bash
shell
script
但我希望它用逗号而不是空格分割文本:
Hello
World
Questions
Answers
bash shell
script
如何在 bash 中实现这一点?
原文由 Eng.Fouad 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 subshell 替换来解析单词会撤消您将空格放在一起所做的所有工作。
请尝试:
这也增加了并行性。在您的问题中使用子外壳会强制整个子外壳过程完成,然后您才能开始迭代答案。管道到子外壳(如我的回答)让它们并行工作。当然,这仅在文件中有很多行时才重要。