Linux 将一行中的第一个单词替换为前一行中的一个单词
我有这样的文字Linux 将一行中的第一个单词替换为前一行中的一个单词,linux,shell,unix,awk,sed,Linux,Shell,Unix,Awk,Sed,我有这样的文字 replace: c 1: USA - replace: SN 1: Garlapati 对于以replace:开头的每一行,我想用以下单词替换下一行的第一个单词(在本例中为1): 这一行应该: awk -F': *' -v OFS=": " '$1=="replace"{r=$2;print;next}r{$1=r;r=""}7' file 使用您的输入进行测试: kent$ cat f replace: c 1: USA - r
replace: c
1: USA
-
replace: SN
1: Garlapati
对于以replace:
开头的每一行,我想用以下单词替换下一行的第一个单词(在本例中为1
):
这一行应该:
awk -F': *' -v OFS=": " '$1=="replace"{r=$2;print;next}r{$1=r;r=""}7' file
使用您的输入进行测试:
kent$ cat f
replace: c
1: USA
-
replace: SN
1: Garlapati
kent$ awk -F': *' -v OFS=": " '$1=="replace"{r=$2;print;next}r{$1=r;r=""}7' f
replace: c
c: USA
-
replace: SN
SN: Garlapati
请帮我理解这意味着什么汉克斯肯特。。。。行了…嗨,肯特,我怎么能删除以同一个单词开头的两行呢。。。示例:uniqueMember replace:add:uniqueMember:replace:replace:My输出应为uniqueMember replace:add:uniqueMember:
kent$ cat f
replace: c
1: USA
-
replace: SN
1: Garlapati
kent$ awk -F': *' -v OFS=": " '$1=="replace"{r=$2;print;next}r{$1=r;r=""}7' f
replace: c
c: USA
-
replace: SN
SN: Garlapati