คำถามติดแท็ก text-processing

การจัดการหรือตรวจสอบข้อความโดยโปรแกรมสคริปต์ ฯลฯ

6
ฉันจะลบ n บรรทัดแรกของไฟล์ ascii โดยใช้คำสั่ง shell ได้อย่างไร
ฉันมีไฟล์หลายไฟล์ที่มีข้อมูลข้อความ ascii ใน 5-10 บรรทัดแรกตามด้วยข้อมูลเมทริกซ์ที่จัดเรียงอย่างดี ในเชลล์สคริปต์ฉันต้องการลบข้อความสองสามบรรทัดแรกเพื่อที่ฉันจะสามารถใช้ข้อมูลเมทริกซ์บริสุทธิ์ในโปรแกรมอื่น ฉันจะใช้คำสั่ง bash shell เพื่อทำสิ่งนี้ได้อย่างไร หากเป็นความช่วยเหลือใด ๆ ฉันใช้ RedHat และระบบ Ubuntu linux


18
วิธีการนับจำนวนของตัวละครที่เฉพาะเจาะจงในแต่ละบรรทัด?
ฉันสงสัยว่าจะนับจำนวนอักขระเฉพาะในแต่ละบรรทัดด้วยโปรแกรมอรรถประโยชน์การประมวลผลข้อความได้อย่างไร ตัวอย่างเช่นการนับ"ในแต่ละบรรทัดของข้อความต่อไปนี้ "hello!" Thank you! บรรทัดแรกมีสองบรรทัดและบรรทัดที่สองมี 0 อีกตัวอย่างคือการนับ(ในแต่ละบรรทัด

6
แปลงเนื้อหาไฟล์เป็นตัวพิมพ์เล็ก
ฉันมีtempไฟล์ที่มีเนื้อหาตัวพิมพ์เล็กและตัวพิมพ์เล็ก อินพุต เนื้อหาของtempไฟล์ของฉัน: hi Jigar GANDHI jiga ฉันต้องการที่จะแปลงบนไปล่าง คำสั่ง ฉันลองคำสั่งต่อไปนี้: sed -e "s/[A-Z]/[a-z]/g" temp แต่มีเอาต์พุตผิด เอาท์พุต ฉันต้องการมันเป็น: hi jigar gandhi jiga สิ่งที่จะต้องมีในแทนส่วนของการโต้แย้งสำหรับsed?

4
เหตุใด `ในขณะที่ IFS = read` ใช้บ่อยๆแทนที่จะเป็น 'IFS =; ในขณะที่อ่าน ..
ดูเหมือนว่าการปฏิบัติตามปกติจะทำให้การตั้งค่าของ IFS อยู่นอกวงขณะที่เพื่อไม่ให้ซ้ำการตั้งค่าสำหรับการวนซ้ำแต่ละครั้ง ... นี่เป็นเพียงลักษณะ "ลิงดูลิงทำ" เป็นนิสัยเพราะมันเป็นลิงนี้จนกระทั่ง ฉันอ่านman readหรือว่าฉันขาดกับดักบางอย่าง (หรือโจ่งแจ้งชัดเจน) ที่นี่?

11
เครื่องมือ Linux สำหรับจัดการไฟล์เป็นชุดและดำเนินการกับชุดไฟล์
ไม่มีใครรู้เครื่องมือ linux ใด ๆ ที่ออกแบบมาโดยเฉพาะเพื่อรักษาไฟล์เป็นชุดและดำเนินการชุดพวกเขา? ชอบความแตกต่างทางแยก ฯลฯ ใช่ไหม

4
การเรียงลำดับรองรับการเรียงลำดับไฟล์ในสถานที่เช่น `sed --in-place` หรือไม่?
ฉันตาบอดหรือมีตัวเลือกที่ไม่เหมือนใคร--in-placeสำหรับsort? เพื่อบันทึกผลลัพธ์ไปยังไฟล์อินพุต sed use -i( --in-place) การเปลี่ยนทิศทางเอาต์พุตของsortไปยังไฟล์อินพุต sort < f > f ผลลัพธ์ในการทำให้ว่างเปล่า หากไม่มี--in-placeตัวเลือก - อาจมีเคล็ดลับวิธีการทำสิ่งนี้ด้วยวิธีที่สะดวก (สิ่งเดียวที่มาในใจของฉัน: sort < f > /tmp/f$$ ; cat /tmp/f$$ > f ; rm /tmp/f$$ การย้ายไม่ใช่ตัวเลือกที่ถูกต้องอาจทำให้สิทธิ์ในการใช้ไฟล์เปลี่ยนไป นั่นเป็นเหตุผลที่ฉันเขียนทับเนื้อหาของไฟล์ temp ที่ฉันลบออกไป)

10
วิธีแทรกข้อความก่อนบรรทัดแรกของไฟล์?
ฉันได้ดูรอบ ๆsedคำสั่งเพื่อเพิ่มข้อความลงในไฟล์ในบรรทัดเฉพาะ งานนี้เพิ่มข้อความหลังบรรทัด 1: sed '1 a\ แต่ฉันต้องการเพิ่มก่อนบรรทัด 1 มันจะเป็น: sed '0 a\ invalid usage of line address 0แต่ฉันได้รับข้อผิดพลาดนี้: ข้อเสนอแนะใด ๆ

7
แสดงไฟล์ทั้งหมดจนถึงการแข่งขัน
grep --before-context 5 แสดง 5 บรรทัดก่อนการแข่งขัน ฉันต้องการแสดงทุกอย่างก่อนการแข่งขัน การgrep --before-context 99999999ทำงานจะได้ผล แต่มันไม่ได้เป็นมืออาชีพมากนัก วิธีการแสดงไฟล์ทั้งหมดถึงการแข่งขัน?

9
bash - แทนที่ช่องว่างด้วยบรรทัดใหม่
ฉันจะแทนที่ช่องว่างด้วยบรรทัดใหม่ในอินพุตเช่น: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 ฯลฯ ... เพื่อรับสิ่งต่อไปนี้: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 บันทึก ฉันโพสต์คำถามนี้เพื่อช่วยผู้ใช้รายอื่นมันไม่ง่ายเลยที่จะหาคำตอบที่มีประโยชน์ใน UNIX SE จนกว่าฉันจะเริ่มพิมพ์คำถามนี้ หลังจากนั้นฉันพบสิ่งต่อไปนี้: คำถามที่เกี่ยวข้อง ฉันจะค้นหาและแทนที่ด้วยบรรทัดใหม่ได้อย่างไร

10
มีเครื่องมือที่รวม zcat และ cat อย่างโปร่งใสหรือไม่?
เมื่อจัดการกับไฟล์บันทึกบางไฟล์จะลงท้ายด้วยไฟล์ gzipped ต้องขอบคุณlogrotateและบางไฟล์ไม่ใช่ ดังนั้นเมื่อคุณลองทำสิ่งนี้: $ zcat * คุณท้ายด้วยบรรทัดคำสั่งเช่นzcat xyz.log xyz.log.1 xyz.log.2.gz xyz.log.3.gzแล้วด้วย: gzip: xyz.log: not in gzip format มีเครื่องมือที่จะใช้เวทย์มนตร์ไบต์คล้ายกับวิธีการfileทำงานและใช้zcatหรือcatขึ้นอยู่กับผลลัพธ์เพื่อให้ฉันสามารถท่อส่งออกไปgrepเป็นตัวอย่าง? NB: ฉันรู้ว่าฉันสามารถเขียนสคริปต์ได้ แต่ฉันกำลังถามว่ามีเครื่องมือที่มีอยู่แล้ว

5
ลบบรรทัดที่มีสตริงที่แน่นอนและบรรทัดต่อไปนี้
ฉันใช้สิ่งนี้ cat foo.txt | sed '/bar/d' เพื่อลบบรรทัดที่มีสตริงbarในไฟล์ ฉันต้องการ แต่จะลบเส้นที่และสายโดยตรงหลังจากที่มัน โดยเฉพาะอย่างยิ่งในsed, awkหรือเครื่องมืออื่น ๆ ที่มีอยู่ใน MinGW32 มันเป็นสิ่งที่ตรงกันข้ามกับสิ่งที่ฉันสามารถเข้าgrepกับ-Aและ-Bพิมพ์บรรทัดที่ตรงกันรวมถึงบรรทัดก่อน / หลังบรรทัดที่ตรงกัน มีวิธีง่าย ๆ เพื่อให้บรรลุหรือไม่

6
วิธีตัดหลายช่องว่างให้เป็นหนึ่งเดียวโดยใช้ sed?
sedบน AIX ไม่ได้ทำในสิ่งที่ฉันคิดว่าควรจะเป็น ฉันพยายามแทนที่ช่องว่างหลายช่องด้วยช่องว่างเดียวในเอาต์พุตของ IOSTAT: # iostat System configuration: lcpu=4 drives=8 paths=2 vdisks=0 tty: tin tout avg-cpu: % user % sys % idle % iowait 0.2 31.8 9.7 4.9 82.9 2.5 Disks: % tm_act Kbps tps Kb_read Kb_wrtn hdisk9 0.2 54.2 1.1 1073456960 436765896 hdisk7 0.2 54.1 1.1 1070600212 435678280 …

8
ฉันจะทำให้ iconv แทนที่ไฟล์อินพุตด้วยเอาต์พุตที่ถูกแปลงได้อย่างไร?
ฉันมีสคริปต์ทุบตีซึ่งระบุผ่านทุกไฟล์ * .php ในไดเรกทอรีและนำiconvไปใช้กับมัน สิ่งนี้ได้รับผลลัพธ์ใน STDOUT เนื่องจากการเพิ่ม-oพารามิเตอร์ (จากประสบการณ์ของฉัน) จริง ๆ แล้วเขียนไฟล์เปล่าก่อนที่จะเกิดการแปลงฉันจะปรับสคริปต์ของฉันเพื่อให้เกิดการแปลงจากนั้นจึงเขียนทับไฟล์อินพุต for file in *.php do iconv -f cp1251 -t utf8 "$file" done

3
วิธีแทรกข้อความหลังสตริงที่ต้องการในไฟล์ได้อย่างไร?
ตอนนี้ฉันกำลังใช้echo "Hello World" >> file.txtต่อท้ายข้อความในไฟล์ แต่ฉันต้องเพิ่มข้อความด้านล่างสตริงที่แน่นอนสมมติว่า "[ตัวเลือก]" มันเป็นไปได้ด้วยsedหรือไม่ เช่น: ใส่ไฟล์ Some text Random [option] Some stuff ไฟล์ที่ส่งออก Some text Random [option] *inserted text* Some stuff

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.