ใช้sed
ซับอะไรพิมพ์n ตัวแรก? ฉันกำลังทำสิ่งต่อไปนี้:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
ใช้sed
ซับอะไรพิมพ์n ตัวแรก? ฉันกำลังทำสิ่งต่อไปนี้:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
คำตอบ:
ไม่ใช้sed
ใช้cut
:
grep .... | cut -c 1-N
หากคุณต้องใช้sed
:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
sed -r 's/^(.{12}).*/\1/'
.
-r
เห็นได้ชัดว่า@fedorqui พร้อมใช้งานบน Linux แต่ไม่มีใน Mac
cut -c 1-N
(ที่ N คือจำนวน) ไม่ทำงานในการติดตั้ง Cygwin ของฉันใน OS X ใช้ (Cygwin วี 2.6 ตัดวี 8.25..) sed -E
มากกว่าการsed -r
ใช้ที่อื่น
colrm x
ตัวอย่างเช่นหากคุณต้องการ 100 อักขระแรก:
cat file |colrm 101
เป็นเวลาหลายปีแล้วและอยู่ใน linux และ bsd ส่วนใหญ่ (freebsd แน่นอน) โดยปกติจะเป็นค่าเริ่มต้น apt-get install colrm
ผมจำไม่ได้ไม่ต้องพิมพ์
colrm
เข้าใจ utf8.
ไม่ต้องใช้ grep เช่นกัน
ตัวอย่าง:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
เคร่งครัดกับ sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
ในการพิมพ์อักขระ N ตัวแรกคุณสามารถลบอักขระ N + 1 ได้จนถึงท้ายบรรทัด:
$ sed 's/.//5g' <<< "defn-test"
defn
วิธีการเกี่ยวกับหัว ?
echo alonglineoftext | head -c 9
cut
ไม่ได้ตัดมันออกsed
ไป