繁体   English   中英

Bash 在文本文件中插入多行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM