আমার দুটি ফাইল রয়েছে: file1এবং file2।
file1 নিম্নলিখিত বিষয়বস্তু রয়েছে:
---
host: "localhost"
port: 3000
reporter_type: "zookeeper"
zk_hosts:
- "localhost:2181"
file2একটি আইপি ঠিকানা রয়েছে ( 1.1.1.1)
আমি যা করতে চাই তা প্রতিস্থাপন করা localhostহয় 1.1.1.1, যাতে শেষ ফলাফলটি হয়:
---
host: "1.1.1.1"
port: 3000
reporter_type: "zookeeper"
zk_hosts:
- "1.1.1.1:2181"
আমি চেষ্টা করেছি:
sed -i -e "/localhost/r file2" -e "/localhost/d" file1
sed '/localhost/r file2' file1 |sed '/localhost/d'
sed -e '/localhost/r file2' -e "s///" file1
তবে আমি হয় পুরো লাইনটি প্রতিস্থাপন করেছি, বা আইপি আমার লাইফের পরিবর্তনের পরে লাইনে যাবে।
\rsed কমান্ড।
cat file1 | sed -e 's/localhost/1.1.1.1/g'কাজ করে?