我试图获取具有以下输出的文件,并使其显示该站点,并在该站点上运行所需的命令。含义。基本上我想在这种情况下使用Site1 Site1并将其添加到需要在该站点上运行的命令的前面。
当前档案
Site1
'command;command2;command3'
Site2
'command;command2;command3'
Site3
'command;command2;command3'
预期输出为:
Site1 'command;command2;command3'
Site2 'command;command2;command3'
Site3 'command;command2;command3'
答案 0 :(得分:3)
试试这个sed
sed -i.bak 'N;s/\n//g' yourfile.txt
来自man sed
:
-i [SUFFIX], - in-place [= SUFFIX]
edit files in place (makes backup if extension supplied)
答案 1 :(得分:2)
$ awk -F\' 'NF==1{site=$0;next} {print site, $0}' file
Site1 'command;command2;command3'
Site2 'command;command2;command3'
Site3 'command;command2;command3'
答案 2 :(得分:0)
使用paste
命令
paste - - <file
你想要一个空格作为分隔符吗
paste -d ' ' - - <file
或者如果你必须使用awk:
awk '{printf "%s"(NR%2?" ":"\n"), $0}' file
或者更短的awk命令:
awk '{ORS=(NR%2?" ":"\n")}1' file