Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将一行中的第一个单词替换为前一行中的一个单词_Linux_Shell_Unix_Awk_Sed - Fatal编程技术网

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