【发布时间】:2019-07-08 05:44:20
【问题描述】:
我在下面有这段代码,我希望它在列中显示我的结束结果。但相反,它将它们保存在一个大字符串中。有人有什么想法吗?
echo -n Insert the filename
read input
Region=$(awk '{for(i=1;i<=NF;i++)if($i=="EVENT")print $(i+2),$(i+3),$(i+4)}' $input)
part1=$(awk '/EVENT/{nr[NR+2]}; NR in nr' $input | awk '{print $1,$2,$5,$6,$7}' $part1 | sed 's/\// /g' $part1 | sed 's/f/ /g' $part1)
part2=$(awk '/EVENT/{nr[NR+6]}; NR in nr' $input | awk '{print $2}' $part2)
echo "$part1 $part2 $Region"
Pattern EVENT 在文件中多次显示,基于此我创建了 3 个“变量”。
我的结果应该是这样的:
String1 String2 Region
String1 String2 Region
String1 String2 Region
...
而是显示为:
Part1 Part1 Part1 Part1 ... Part2 Part2 Part2 ... Region Region Region ...
更新: 我在最后一个回显中添加了“...”,现在我在一个巨大的列中得到了我的结果。 像这样:
Part1
Part1
Part1
...
Part2
Part2
...
Region
Region
Region
...
【问题讨论】:
-
能否将您的
echo语句更改为echo "$part1 $part2 $Region"一次,然后告诉我们进展如何? -
我添加了“”,现在它给了我一个大专栏。您是否碰巧知道一种使它们彼此相邻的方法?非常感谢您的帮助
-
请在代码标签中的帖子中发布输入和预期输出示例,以便我们更好地理解这个问题。
-
你为什么要在
part1的赋值中使用$part1,在part2的赋值中使用$part2?