【发布时间】:2024-05-21 01:55:02
【问题描述】:
任何人都可以帮助我实现这一点,通常是 AWK 读取文件
a b c
作为
$1:a
$2:b
$3:c
如何读取这个文件
a
b
c
作为
$1:a
$2:b
$3:c
非常感谢您的帮助。
【问题讨论】:
任何人都可以帮助我实现这一点,通常是 AWK 读取文件
a b c
作为
$1:a
$2:b
$3:c
如何读取这个文件
a
b
c
作为
$1:a
$2:b
$3:c
非常感谢您的帮助。
【问题讨论】:
您可以取消设置记录分隔符并将输入字段分隔符更改为换行符:
$ awk -F'\n' -vRS='' '{print $1,$2,$3}' file
a b c
【讨论】:
将 GNU awk 用于多字符 RS:
$ cat file
a
b
c
d
$ awk -v RS='^$' '{for (i=1;i<=NF;i++) print "$"i"="$i; print "----"}' file
$1=a
$2=b
$3=c
$4=d
----
注意 d 与 Tom 将 RS 设置为 NULL 字符串的解决方案的区别:
$ awk -F'\n' -v RS='' '{for (i=1;i<=NF;i++) print "$"i"="$i; print "----"}' file
$1=a
$2=b
$3=c
----
$1=d
----
考虑一下如果文件中有空行,您希望脚本的行为方式。
【讨论】: