我有一个脚本,它读取包含多行的字符串。我需要循环遍历每一行。
例如:
文件awktest
#!/bin/awk -f
BEGIN {
LINES = "line1\nline2\nline3\n";
while ( LINES ) {
print line;
}
exit 1;
}
我已经尝试了一切。这是我最后的手段。感谢您的帮助。
最佳答案
使用awk的split
功能:
awk 'BEGIN {
LINES = "line1\nline2\nline3\n";
n=split(LINES,a,"\n");
for (i=1;i<n;i++) print a[i]
}'
输出:
line1
line2
line3
<小时/>
n=split(LINES,a,"\n")
- 分割字符串LINES
通过分隔符a
进入 block 数组 (\n
) .
n
是 block 的数量for (i=1;i<n;i++)
- 迭代所有子字符串
关于linux - 使用 awk 脚本语言循环遍历多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46586363/