我想用逗号,
而不是空格切分文本,使用
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 中实现这个?
awk
的一个示例:假设我们有一个名为example.txt
的文本文件,其中包含以下内容:John 35 Emily 27 Michael 41 Samantha 23
我们可以使用以下命令来打印这些行中所有人的年龄总和:awk '{sum += $2} END {print sum}' example.txt
输出结果将是126
。现在让我解释一下这个命令:awk
是一个用于处理文本文件的命令行工具。'{sum += $2} END {print sum}'
是一个awk
脚本,它对每一行执行一次,将第二列的值添加到一个名为sum
的变量中。END
关键字告诉awk
在处理完所有行后执行一次操作。在本例中,我们打印了sum
变量的值。example.txt
是输入文件的名称。awk
。 - Eng.Fouad