[英]Bash insert multiple lines into a text file
我有一个参数列表:
dwm.normfgcolor:
dwm.normbgcolor:
dwm.normbordercolor:
dwm.selfgcolor:
dwm.selbgcolor:
dwm.selbordercolor:
和十六进制值列表:
#e6e4e3
#352231
#a19f9e
#e6e4e3
#FEE798
#e6e4e3
我想要做的是以第一个字符串中的第一行对应于第二个字符串中的第一行的方式“合并”它们,依此类推。 它应该看起来像这样
dwm.normfgcolor: #e6e4e3
dwm.normbgcolor: #352231
我想过使用
cat > output.txt<< EOF
dwm.normfgcolor: $variables?
dwm.normbgcolor:
dwm.normbordercolor:
dwm.selfgcolor:
dwm.selbgcolor:
dwm.selbordercolor:
EOF
有变量,但我不知道如何。
答案 - 使用 paste -d 和进程替换。
使用粘贴
paste -d " " file1 file2
paste -d " " <(command to get input1) <(command to get input2)
paste -d " " file1 <(command to get output2)
使用 awk
awk 'NR==FNR{a[FNR]=$0;next}{print a[FNR],$0}' file1 file2
awk 'NR==FNR{a[FNR]=$0;next}{print a[FNR],$0}' <(command1) <(command2)
awk 'NR==FNR{a[FNR]=$0;next}{print a[FNR],$0}' file1 <(command2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.