ฉันพยายามแทนที่คำหลายคำในไฟล์โดยใช้ sed -i #expression1 #expression2
ไฟล์
Something 123 item1
Something 456 item2
Something 768 item3
Something 353 item4
เอาท์พุท (ที่ต้องการ)
anything 123 stuff1
anything 456 stuff2
anything 768 stuff3
anything 353 stuff4
ลองลึกหนาบาง
ฉันจะได้รับผลลัพธ์ต่อไปนี้โดยใช้sed -i
2 ครั้ง
sed -i 's/Some/any/g' file
sed -i 's/item/stuff/g' file
ฉันสามารถมีวิธีที่เป็นไปได้ในการทำให้สิ่งนี้เป็นคำสั่งแบบแทนที่เดียวได้ไหม
sed -i 's/Some/any/g' -i 's/item/stuff/g' file
เมื่อฉันลองโค้ดด้านบนมันใช้s/item/stuff/g
เป็นไฟล์และลองทำมัน ..
sed - i 's/Some\(.*\)item/any\1stuff/' file