คำตอบ:
sed -e "\$aTEXTTOEND"
เป็นวิธีที่ง่ายที่สุด
$
ตรงกับบรรทัดสุดท้าย (เป็นที่sed
อยู่ปกติและ4aTEXTTOEND
จะแทรกหลังบรรทัดที่สี่) a
คือคำสั่งต่อท้ายและTEXTTOEND
เป็นส่วนต่อท้าย
sed -e '$a\NEWLINE\\'
X แทนที่ NEWLINE ด้วยบรรทัดใหม่จริง
ไม่จำเป็นต้องใช้sed
ในกรณีนั้น เกี่ยวกับ
echo "<?php" >> file
<php
" และ " >
" และอ้างเนื้อหาที่เลือกทั้งหมดในหนึ่งไปดังนั้นเขาอาจจริงๆไม่ต้องการsed
ชิ้นส่วน
sudo
ซึ่งทำให้การเปลี่ยนแปลงนี้ล้มเหลวเนื่องจากecho
เป็นคำสั่งเชลล์ในตัวแทนที่จะเป็นไฟล์สั่งการที่พบใน$PATH
echo
เป็นไฟล์ในตัว แต่ยังเป็นไฟล์เรียกทำงานที่พบได้ใน$PATH
สมมติว่าคุณต้องการใส่แท็ก php สิ้นสุดลงในไฟล์จากนั้น
sed -i '$s/$/\n?>/' file
ควรทำเคล็ดลับ
ดูโพสต์ต้นฉบับของคุณสำหรับคำสั่ง sed ทั้งหมดในที่เดียว
find . -type f -exec sed -i -e "1s/^/<?php /" -e "\$s/\$/ ?>/" {} \;
ใช้คำสั่ง 'ผนวก (a)' sed ตัวอย่างเช่นในการผนวกสองบรรทัดที่ท้ายไฟล์:
sed -i -e '$a\
foo1 bar1\
foo2 bar2' file
วิธีง่ายๆในการเขียนและทำการเปลี่ยนแปลงเนื้อหาในบรรทัดที่ระบุในไฟล์ หากคุณต้องการแทรกสิ่งใด ๆ ที่หมายเลขบรรทัดเฉพาะคำสั่งด้านล่างสามารถใช้ได้:
sed -i '2i i have started' sheikh.log
โดยที่2i
- หมายเลขบรรทัด 2 และฉันหมายถึงการแทรก หากคุณต้องแทรกที่บรรทัดสุดท้ายให้ใช้$
แทน 2 ฉันเริ่มแล้ว - ข้อความที่จะแทรกและsheikh.log
เป็นชื่อไฟล์
นอกจากนี้เรายังสามารถทำการเปลี่ยนแปลงในบรรทัดโดยใช้คำสั่งด้านล่าง
sed -i '2c we have started' sheikh.log
i
we
จะถูกเปลี่ยนเป็น
ฉันจะสมมติว่าทุกคนที่ค้นหาวิธีการแทรก / ต่อท้ายข้อความที่จุดเริ่มต้น / จุดสิ้นสุดของไฟล์อาจต้องทราบวิธีการทำเช่นกัน
cal | \
gsed -E \
-e '1i\{' \
-e '1i\ "lines": [' \
-e 's/(.*)/ "\1",/' \
-e '$s/,$//' \
-e '$a\ ]' \
-e '$a\}'
นี่เป็นcal
เอาต์พุตที่ส่งไปยัง gnu- sed
(เรียกว่าgsed
บน macOS ที่ติดตั้งผ่านbrew.sh ) พร้อมกับขยาย RegEx ( -E
) และ 6 "สคริปต์" ถูกนำไปใช้ ( -e
) และตัวแบ่งบรรทัดหนีออกมา\
เพื่อความสะดวกในการอ่าน สคริปต์ 1 & 2 ใช้1i\
เพื่อ "ที่บรรทัด 1, แทรก" สคริปต์ 5 & 6 ใช้$a\
เพื่อ "at line <last>, ผนวก" ฉันจัดแนวเอาท์พุทข้อความในแนวตั้งเพื่อให้โค้ดแสดงสิ่งที่คาดหวังในผลลัพธ์ สคริปต์ 3 และ 4 ทำการทดแทน (รายการหลังใช้กับ "บรรทัด <last>" เท่านั้น) ผลลัพธ์กำลังแปลงเอาต์พุตคำสั่งเป็น JSON ที่ถูกต้อง
{
"lines": [
" October 2019 ",
"Su Mo Tu We Th Fr Sa ",
" 1 2 3 4 5 ",
" 6 7 8 9 10 11 12 ",
"13 14 15 16 17 18 19 ",
"20 21 22 23 24 25 26 ",
"27 28 29 30 31 ",
" "
]
}
{ cat file; echo 'END OF FILE'; } > newFile
งานนี้ต้องขอบคุณ SH * ด้วย (ไม่ได้ใช้งานง่าย แต่ใช้งานได้ง่าย)