簡體   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