簡體   English   中英

使用 sed 或任何其他命令將部分行從 file1 復制到 file2 中的特定位置

[英]copy a part of a line from file1 to specific place in file2 using sed or any other command

嗨朋友們,我是 linux 終端及其命令的新手,我需要幫助來解決這種情況:

我有 2 個文件:

cat file1:
line1
line2
key=
line4


cat file2:
line1
line2
line3
secret: 12345
line5

我需要做的是從file2復制“12345”並將其粘貼到file1中的“key =”前面,重要的是秘密值(在本例中為12345)每次都會更改,並且對於另一台服務器它不再是12345 .我怎么能用 sed 或其他任何東西做到這一點? 感謝您的幫助

下一個命令應該適用於 Ubuntu:

cat file2 | grep "secret:" | tail -1 | sed 's/^secret://' | xargs -I{} sed  -i 's/key=.*$/key={}/' file1

下一個命令適用於我的 MacOS:

cat file2 | grep "secret:" | tail -1 | sed 's/^secret://' | xargs -I{} sed  -i.backup 's/key=.*$/key={}/' file1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM