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

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


5
แทรกบรรทัดใหม่หลังจากทุกบรรทัด N หรือไม่?
ฉันจะใช้เครื่องมือประมวลผลข้อความเพื่อแทรกบรรทัดใหม่หลังจากทุกบรรทัด N ได้อย่างไร ตัวอย่างสำหรับ N = 2: INPUT: sadf asdf yxcv cxv eqrt asdf เอาท์พุท: sadf asdf yxcv cxv eqrt asdf

7
Sed - แทนที่อินสแตนซ์ k แรกของคำในไฟล์
ฉันต้องการแทนที่kอินสแตนซ์แรกของคำ ฉันจะทำสิ่งนี้ได้อย่างไร เช่น. ไฟล์ Say foo.txtมี 100 อินสแตนซ์ของคำว่า 'linux' ฉันต้องแทนที่ 50 รายการแรกเท่านั้น


4
sed ด้วยการแสดงออกหลายสำหรับการโต้แย้งในสถานที่
ฉันพยายามแทนที่คำหลายคำในไฟล์โดยใช้ 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 -i2 ครั้ง 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' …


5
วิธีรายงานการเปลี่ยนแปลงแบบ "sed" ในสถานที่
เมื่อใช้sedเพื่อแทนที่สตริงในสถานที่มีวิธีที่จะรายงานการเปลี่ยนแปลงที่เกิดขึ้น (โดยไม่ต้องอาศัยความแตกต่างของไฟล์เก่าและใหม่)? ตัวอย่างเช่นฉันจะเปลี่ยนบรรทัดคำสั่งได้อย่างไร find . -type f | xargs sed -i 's/abc/def/g' ดังนั้นฉันสามารถเห็นการเปลี่ยนแปลงที่เกิดขึ้นทันที?

7
ข้อความระหว่างสองแท็ก
ฉันต้องการดึงสิ่งที่อยู่ระหว่างแท็กสองแท็กเหล่านี้<tr> </tr>- จากเอกสาร html ตอนนี้ฉันไม่มีข้อกำหนด html เฉพาะใด ๆ ที่จะรับประกันการแยกวิเคราะห์ html ฉันเพียงแค่ต้องการสิ่งธรรมดาที่การแข่งขัน<tr>และ</tr>และได้รับทุกอย่างในระหว่างและอาจจะมีหลายtrs ฉันลอง awk ซึ่งใช้งานได้ แต่ด้วยเหตุผลบางอย่างมันทำให้ฉันซ้ำซ้อนของแต่ละแถวที่แยกออกมา awk ' /<TR/{p=1; s=$0} p && /<\/TR>/{print $0 FS s; s=""; p=0} p' htmlfile> newfile จะไปเกี่ยวกับเรื่องนี้ได้อย่างไร

9
คำสั่งให้แสดงสองสามบรรทัดแรกและสองสามบรรทัดสุดท้ายของไฟล์
ฉันมีไฟล์ที่มีหลายแถวและแต่ละแถวมีการประทับเวลาตอนเริ่มต้นเช่น [Thread-3] (21/09/12 06:17:38:672) logged message from code..... ดังนั้นฉันมักตรวจสอบ 2 สิ่งจากไฟล์บันทึกนี้ สองสามแถวแรกที่มีเงื่อนไขโกลบอลและเวลาเริ่มต้นจะได้รับด้วย ไม่กี่แถวสุดท้ายที่มีสถานะการออกพร้อมกับข้อมูลอื่น ๆ มีคำสั่งเดียวที่มีประโยชน์อย่างรวดเร็วที่สามารถให้ฉันแสดงบรรทัดแรกและสองสามบรรทัดของไฟล์ได้หรือไม่?

4
วิธีการแยกร้อยไฟล์ซอร์สโค้ด HTML ในเปลือก?
ฉันมีไฟล์ซอร์สโค้ด html สองสามร้อย ฉันต้องการแยกเนื้อหาของ<div>องค์ประกอบเฉพาะจากแต่ละไฟล์เหล่านี้ดังนั้นฉันจะเขียนสคริปต์เพื่อวนรอบแต่ละไฟล์ โครงสร้างองค์ประกอบเป็นดังนี้: <div id='the_div_id'> <div id='some_other_div'> <h3>Some content</h3> </div> </div> ใครสามารถแนะนำวิธีการที่ฉันสามารถแยก div the_div_idและองค์ประกอบลูกและเนื้อหาทั้งหมดจากไฟล์โดยใช้บรรทัดคำสั่ง linux?

1
ใช้ rsync ซ้ำ - เอาต์พุตที่รันช้าเพื่อเพิ่มความเร็วในการถ่ายโอนจริงในภายหลัง
ฉันมักจะทำก่อนที่จะทำจริงrsync -n rsyncสิ่งคือฉันจะทำให้การรันครั้งที่สองโดยอัตโนมัติเพื่อนำรายการที่สร้างขึ้นมาใหม่ได้--dry-runอย่างไร ฉันหมายความว่าถ้าฉันวิ่งrsync -nแล้วฉันจะได้รับการจำลองว่าrsyncจะทำอย่างไรความคิดของฉันก็คือเอาผลลัพธ์นั้นมาประมวลผลมันก็จะสร้างrsyncเฉพาะ--include-fromผลผลิตนั้นดังนั้นรายการทั้งหมดจะต้องคำนวณเพียงครั้งเดียว หากนี่ไม่สมเหตุสมผลโปรดแจ้งให้เราทราบ rsync -hva --progress --stats --delete --exclude-from "$EXCLUDEFILE"โดยวิธีการที่ฉันมักจะใช้ หากคุณมีข้อเสนอแนะเกี่ยวกับตัวเลือกที่คุณจะใช้โปรดแจ้งให้เราทราบ ฉันพยายามทำซ้ำเนื้อหาของฮาร์ดไดรฟ์ภายนอก (ซึ่งมีเฉพาะภาพวิดีโอและเอกสาร) ไปยังฮาร์ดไดรฟ์ภายนอกอื่น

1
คุณใส่วันที่และเวลาในชื่อไฟล์ได้อย่างไร?
ฉันพยายามรันคำสั่งและต้องการใส่วันที่และเวลาในชื่อไฟล์เอาต์พุต นี่คือคำสั่งตัวอย่างที่ฉันต้องการเรียกใช้ md5sum /etc/mtab > 2016_4_25_10_30_AM.log รูปแบบเวลาวันที่สามารถเป็นสิ่งที่เหมาะสมกับขีดล่าง แม้ว่า UTC หากไม่สามารถใช้ AM และ PM

7
ลบเครื่องหมายจุลภาคระหว่างเครื่องหมายคำพูดเฉพาะในไฟล์ที่คั่นด้วยเครื่องหมายจุลภาค
ฉันมีไฟล์อินพุตคั่นด้วยเครื่องหมายจุลภาค ( ,) มีบางฟิลด์อยู่ในเครื่องหมายคำพูดคู่ที่มีเครื่องหมายจุลภาคอยู่ นี่คือแถวตัวอย่าง 123,"ABC, DEV 23",345,534.202,NAME ฉันต้องลบเครื่องหมายจุลภาคทั้งหมดที่เกิดขึ้นภายในเครื่องหมายคำพูดคู่และเครื่องหมายคำพูดคู่ด้วย ดังนั้นบรรทัดข้างต้นควรได้รับการแยกวิเคราะห์ตามที่แสดงด้านล่าง 123,ABC DEV 23,345,534.202,NAME ฉันลองใช้สิ่งต่อไปนี้sedแต่ไม่ให้ผลลัพธ์ที่คาดหวัง sed -e 's/\(".*\),\(".*\)/\1 \2/g' เทคนิคใด ๆ อย่างรวดเร็วด้วยsed, awkหรือยูทิลิตี้ยูนิกซ์อื่นใดโปรด?
23 text-processing  sed  awk  csv 


5
ฉันจะใช้การตัดเพื่อคั่นด้วยช่องว่างหลายช่องได้อย่างไร
ฉันต้องการรับคอลัมน์สุดท้ายของตัวอย่างนี้: [ 3] 1.0- 2.0 sec 1.00 MBytes 8.39 Mbits/sec [ 3] 2.0- 3.0 sec 768 KBytes 6.29 Mbits/sec [ 3] 3.0- 4.0 sec 512 KBytes 4.19 Mbits/sec [ 3] 4.0- 5.0 sec 256 KBytes 2.10 Mbits/sec ... ถ้าฉันใช้ cut -d\ -f 13 ฉันเข้าใจ Mbits/sec 6.29 4.19 2.10 เพราะบางครั้งมีช่องว่างเพิ่มเติมในระหว่าง

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