需要拆分由空格分隔的文件中的文本。
实施例
Smith,John Jones,Sarah Tucker,Sam Tucker,Sarah
如何解决这个问题:
Smith,John
Jones,Sarah
Tucker,Sam
Tucker,Sarah
我已经尝试了awk -F' ' { print $0 } filename
,但这并没有读到它们之间的空间。谢谢!
答案 0 :(得分:3)
$ awk -v RS=' ' 'NF' file
Smith,John
Jones,Sarah
Tucker,Sam
Tucker,Sarah
或
$ awk -v OFS='\n' '{$1=$1}1' file
Smith,John
Jones,Sarah
Tucker,Sam
Tucker,Sarah
答案 1 :(得分:2)
使用awk
,您可以迭代由空格分隔的每个字段并打印它们:
$ cat file
Smith,John Jones,Sarah Tucker,Sam Tucker,Sarah
$ awk '{for(i=1;i<=NF;i++) print $i}' file
Smith,John
Jones,Sarah
Tucker,Sam
Tucker,Sarah
答案 2 :(得分:2)
如果字段是制表符分隔的,
tr '\t' '\n' < file
如果它们被一个或多个空格分开,
tr -s ' ' '\n' < file
并非所有tr
实现都支持这些C样式的反斜杠转义。请参考当地的手册页以获取替代方案(或者只是简单地传递分隔符 - 在许多shell中, ctrl + v 选项卡会生成一个文字选项卡,换行符可以合法地介于两者之间两个单引号,没有任何转义)。