Awk 将第一行添加到第二行,但用制表符分隔
我正在使用grep-B2“average/return”/home/me/Desktop/file, 如何在第一行的位置获得所需的一行输出 是否添加到第二行,但用制表符与第二行分隔Awk 将第一行添加到第二行,但用制表符分隔,awk,grep,Awk,Grep,我正在使用grep-B2“average/return”/home/me/Desktop/file, 如何在第一行的位置获得所需的一行输出 是否添加到第二行,但用制表符与第二行分隔 some words here average / return 1,2 4 5,6 -- other words here average / return 4,3 7 9,4 -- 期望输出: some words here average / return 1,2 4 5,6 -- other wo
some words here
average / return 1,2 4 5,6
--
other words here
average / return 4,3 7 9,4
--
期望输出:
some words here average / return 1,2 4 5,6
--
other words here average / return 4,3 7 9,4
--
您可以尝试将输出管道化到
tr
命令,如下所示:
grep -B2 "average / return" /home/me/Desktop/file | tr '\n' '\t'
您可以尝试将输出管道化到
tr
命令,如下所示:
grep -B2 "average / return" /home/me/Desktop/file | tr '\n' '\t'
您可以尝试将输出管道化到
tr
命令,如下所示:
grep -B2 "average / return" /home/me/Desktop/file | tr '\n' '\t'
您可以尝试将输出管道化到
tr
命令,如下所示:
grep -B2 "average / return" /home/me/Desktop/file | tr '\n' '\t'
您可以通过管道将结果传送到
sed
:
grep ... | sed '/^--$/!{N;s/\n/ /g}'
说明:
sed命令适用于不包含分隔符的行:/^--$/代码>。在下面的块中,然后使用N
从输入中获取另一行并将其附加到模式缓冲区。最后,使用替换命令将换行符替换为4个空格:s/\n//g
包含分隔符的行只需打印即可。(请注意,如果您不希望grep命令包含在输出中,可以将--no group separator
传递给grep命令。谢谢@fedorqui)
输出:
这里的一些单词平均/返回1,2 4 5,6
--
这里的其他词平均/回报4,37,9,4
--
您可以通过管道将结果传送到sed
:
grep ... | sed '/^--$/!{N;s/\n/ /g}'
说明:
sed命令适用于不包含分隔符的行:/^--$/代码>。在下面的块中,然后使用N
从输入中获取另一行并将其附加到模式缓冲区。最后,使用替换命令将换行符替换为4个空格:s/\n//g
包含分隔符的行只需打印即可。(请注意,如果您不希望grep命令包含在输出中,可以将--no group separator
传递给grep命令。谢谢@fedorqui)
输出:
这里的一些单词平均/返回1,2 4 5,6
--
这里的其他词平均/回报4,37,9,4
--
您可以通过管道将结果传送到sed
:
grep ... | sed '/^--$/!{N;s/\n/ /g}'
说明:
sed命令适用于不包含分隔符的行:/^--$/代码>。在下面的块中,然后使用N
从输入中获取另一行并将其附加到模式缓冲区。最后,使用替换命令将换行符替换为4个空格:s/\n//g
包含分隔符的行只需打印即可。(请注意,如果您不希望grep命令包含在输出中,可以将--no group separator
传递给grep命令。谢谢@fedorqui)
输出:
这里的一些单词平均/返回1,2 4 5,6
--
这里的其他词平均/回报4,37,9,4
--
您可以通过管道将结果传送到sed
:
grep ... | sed '/^--$/!{N;s/\n/ /g}'
说明:
sed命令适用于不包含分隔符的行:/^--$/代码>。在下面的块中,然后使用N
从输入中获取另一行并将其附加到模式缓冲区。最后,使用替换命令将换行符替换为4个空格:s/\n//g
包含分隔符的行只需打印即可。(请注意,如果您不希望grep命令包含在输出中,可以将--no group separator
传递给grep命令。谢谢@fedorqui)
输出:
这里的一些单词平均/返回1,2 4 5,6
--
这里的其他词平均/回报4,37,9,4
--
保持简单,丢失grep和pipe以及其他命令,只需在原始文件上使用awk即可:
awk '/average \/ return/{print prev "\t" $0} {prev=$0}' file
如果您觉得有用,可以在输出行之间添加包含--
的行:
awk '/average \/ return/{print prev "\t" $0 "\n--" } {prev=$0}' file
e、 g
保持简单,丢失grep和pipe以及其他命令,只需在原始文件上使用awk即可:
awk '/average \/ return/{print prev "\t" $0} {prev=$0}' file
如果您觉得有用,可以在输出行之间添加包含--
的行:
awk '/average \/ return/{print prev "\t" $0 "\n--" } {prev=$0}' file
e、 g
保持简单,丢失grep和pipe以及其他命令,只需在原始文件上使用awk即可:
awk '/average \/ return/{print prev "\t" $0} {prev=$0}' file
如果您觉得有用,可以在输出行之间添加包含--
的行:
awk '/average \/ return/{print prev "\t" $0 "\n--" } {prev=$0}' file
e、 g
保持简单,丢失grep和pipe以及其他命令,只需在原始文件上使用awk即可:
awk '/average \/ return/{print prev "\t" $0} {prev=$0}' file
如果您觉得有用,可以在输出行之间添加包含--
的行:
awk '/average \/ return/{print prev "\t" $0 "\n--" } {prev=$0}' file
e、 g
因此,该选项卡位于此处和averageNote之间。注意,如果您说--没有组分隔符
,则在匹配之间不会有这些--
。处理该输出时可能会出现这种情况。因此,选项卡位于此处和averageNote之间。注意,如果您说--没有组分隔符
,则在匹配之间不会有这些--
。处理该输出时可能会出现这种情况。因此,选项卡位于此处和averageNote之间。注意,如果您说--没有组分隔符
,则在匹配之间不会有这些--
。处理该输出时可能会出现这种情况。因此,选项卡位于此处和averageNote之间。注意,如果您说--没有组分隔符
,则在匹配之间不会有这些--
。在处理输出时,这可能会出现。谢谢。我只做了很小的改变sed'/^--$/!{N;s/\N/\t/g}来获取一个标签。谢谢。我只做了很小的改变sed'/^--$/!{N;s/\N/\t/g}来获取一个标签。谢谢。我只做了很小的改变sed'/^--$/!{N;s/\N/\t/g}来获取一个标签。谢谢。我只做了很小的改变sed'/^--$/!{N;s/\N/\t/g}来获取一个制表符。