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

คำถามเกี่ยวกับการแก้ไขสร้างหรือแยกไฟล์ข้อความธรรมดา นี่เป็นแท็กที่กว้างมากหากคำถามของคุณเกี่ยวกับการใช้เครื่องมือเฉพาะโปรดติดแท็กด้วยชื่อของเครื่องมือเช่นกัน (เช่น sed, awk, perl และอื่น ๆ )


6
พิมพ์ส่วนเฉพาะในผลลัพธ์
ให้เราสมมติว่ามีคำสั่งเช่น: cat /boot/config-3.19.0-32-generic | grep CONFIG_ARCH_DEFCONFIG ผลลัพธ์เป็นเช่นนี้: CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" ตอนนี้คำถามของฉันคือ: มีคำสั่งใดบ้างที่จะพิมพ์เฉพาะสิ่งที่อยู่ภายในเครื่องหมายจุลภาคคว่ำคือ" "? คุณช่วยอธิบายหน่อยได้ไหม? ขอขอบคุณ! ล่วงหน้า.

1
ฉันจะ 'ส่งเสียง' ไฟล์ข้อความได้อย่างไร แต่เริ่มจากด้านล่างแทนด้านบน
ฉันมีไฟล์บันทึกข้อความขนาดใหญ่มากประมาณ 37MB ใช้cat file | moreฉันสามารถดูเนื้อหาไฟล์ทีละหน้า ปัญหาคือว่าสิ่งนี้เริ่มต้นจากด้านบน - รายการเก่าเสมอ ฉันจะทำให้มันเริ่มต้นจากด้านล่างที่รายการใหม่แล้วเลื่อนขึ้นทีละหน้า?

5
วิธีคัดลอกรายละเอียดจากไฟล์และวางลงในไฟล์ใหม่ได้อย่างไร
ฉันมีไฟล์ที่มีรายละเอียดส่วนตัวของฉัน (.txt) ฉันจะคัดลอกเทอร์มินัลจากรายละเอียดเพียงเล็กน้อยจากไฟล์และนำไปเป็น.txtไฟล์ใหม่ได้อย่างไร ตัวอย่างเช่นถ้านี่คือเนื้อหาของไฟล์: name : farah age : 23 phone number : 0123 education : degree ฉันจะคัดลอกเฉพาะอายุและหมายเลขโทรศัพท์และส่งออกไปยัง.txtไฟล์ใหม่ได้อย่างไร

6
วิธีการแปลงจากแถวถึงคอลัมน์?
ฉันมีไฟล์. txt ซึ่งมีหมายเลขเรียงลำดับเช่นนี้ (ในแถวเดียวกัน): 106849_01373 106849_01967 106850_00082 23025.7_01059 ฉันต้องการแปลงพวกเขาเช่นนั้น: 106849_01373 106849_01967 106850_00082 23025.7_01059 ฉันไม่รู้ว่าจะใช้คำสั่งไหน ใครสามารถช่วยฉันด้วยเรื่องนี้?

2
ความหมายของอะไร: a; $! N; ในคำสั่ง sed หรือไม่?
$ (echo hello; echo there) | sed ':a;$!N;s/\n/string/;ta' hellostringthere sedคำสั่งด้านบนจะแทนที่อักขระบรรทัดใหม่ด้วยสตริง "string" แต่ฉันไม่รู้ความหมายของ:a;$!N;s/\n/string/;taคำพูดเดียว s/\n/string/ฉันรู้ว่าส่วนตรงกลาง แต่ฉันไม่ทราบหน้าที่ของส่วนแรก ( :a;$!N;) และส่วนสุดท้าย ( ta)

2
คัดลอกและวางกลุ่มของไฟล์ด้วยชื่ออื่น
ฉันมีไฟล์ข้อความจำนวนมากที่มีชื่อ foo_bar_abc_1_01_geh_original.in foo_bar_abc_1_02_geh_original.in foo_bar_abc_1_03_geh_original.in ... ... foo_bar_abc_1_1000_geh_original.in ฉันต้องการคัดลอก (และเก็บไฟล์ต้นฉบับ) แต่ละไฟล์และวางในชื่อต่าง ๆ (ในโฟลเดอร์เดียวกัน) เช่น foo_bar_abc_1_01_geh_copy.in foo_bar_abc_1_02_geh_copy.in foo_bar_abc_1_03_geh_copy.in ... ... foo_bar_abc_1_1000_geh_copy.in ฉันจะทำสิ่งนี้โดยใช้สคริปต์อย่างง่ายได้อย่างไร

5
ตัดคำสั่งด้วยคำเป็นตัวคั่น
มีคำสั่งตัดให้ตัดตามคำเช่น: 171212 16082784 6264 XXX xxxxxxxx Transaction XXXXX abend ABCD. The task has terminated abnormally because of a program check. 16:08:27 ฉันต้องการผลลัพธ์เป็น: 171212 16082784 6264 XXX xxxxxxxx Transaction XXXXX abend ABCD. วิธีการเข้าใกล้

3
awk - วิธีการพิมพ์จำนวนตัวอักษรสำหรับบรรทัดแรกของ n บรรทัดในไฟล์?
ฉันมีคำสั่ง: $ awk '{ print length($0); }' /etc/passwd มันพิมพ์จำนวนตัวอักษรของทุกบรรทัดในไฟล์passwd : 52 52 61 48 81 58 etc. ฉันจะพิมพ์จำนวนอักขระสำหรับเฉพาะบรรทัดแรกได้อย่างไร ตัวอย่างเช่น - สำหรับ 3 บรรทัดแรกมันจะให้อะไรเช่น: 52 52 61

6
วิธีลบบรรทัดจากไฟล์ที่ไม่มีจุด?
ฉันมีไฟล์ที่มีข้อมูลรวมถึง URL แต่มีหลายสายที่ไม่ใช่ URL ฉันจะลบออกโดยใช้คำสั่งเทอร์มินัลของ Ubuntu ได้อย่างไร นี่คือไฟล์ตัวอย่างสำหรับการอ้างอิง: ข้อมูลตัวอย่าง com.blendtuts/S °= com.blengineering.www/:http ±= ฉันต้องการเอาท์พุท: com.blendtuts/S com.blengineering.www/:http เส้นที่ไม่ต้องการพิเศษนั้นไม่มีจุดใด ๆ ดังนั้นฉันต้องการลบบรรทัดที่ไม่มีจุด

7
พิมพ์คำที่มีสตริงและคำแรก
ฉันต้องการค้นหาสตริงในบรรทัดข้อความและพิมพ์สตริง (ระหว่างช่องว่าง) และคำแรกของวลี ตัวอย่างเช่น: "นี่คือบรรทัดข้อความเดียว" "อีกสิ่งหนึ่งที่" "จะดีกว่าถ้าคุณลองอีกครั้ง" "ดีกว่า" รายการของสตริงคือ: ข้อความ สิ่ง ลอง ดีกว่า สิ่งที่ฉันพยายามคือการได้รับตารางเช่นนี้ ข้อความ [แท็บ] อีกสิ่ง [แท็บ] ลอง [แท็บ] ดีกว่า ฉันลองใช้ grep แต่ไม่มีอะไรเกิดขึ้น ข้อเสนอแนะใด ๆ

2
จะแยกเฉพาะค่าที่มากกว่าขีด จำกัด จากไฟล์ได้อย่างไร
ฉันมีไฟล์นี้: names average john:15.02 Mark:09.63 James:12.58 ฉันต้องการแยกเฉพาะค่าเฉลี่ยมากกว่า 10 จากมันดังนั้นผลลัพธ์ในตัวอย่างนี้ควรเป็น: 15.02 12.58

3
เปรียบเทียบไฟล์ซอร์สโค้ดโดยไม่สนใจความแตกต่างของการจัดรูปแบบ (เช่นช่องว่าง, การแบ่งบรรทัด, ... )
ฉันกำลังมองหาแอปพลิเคชันที่สามารถเปรียบเทียบสองแหล่ง C ++ และค้นหาความแตกต่างที่มีความหมายรหัส (เพื่อเปรียบเทียบรุ่นที่อาจมีการจัดรูปแบบแตกต่างกัน) อย่างน้อยที่สุดสิ่งที่มีความสามารถในการเพิกเฉยต่อการเปลี่ยนแปลงในพื้นที่สีขาวพื้นที่แท็บและการขึ้นบรรทัดใหม่ซึ่งไม่ส่งผลกระทบต่อการทำงานของแหล่งที่มา (โปรดทราบว่าการขึ้นบรรทัดใหม่นั้นถือเป็นช่องว่างขึ้นอยู่กับภาษาและ C และ C ++ ) และสิ่งที่สามารถระบุความแตกต่างที่มีความหมายรหัสทั้งหมด ฉันอยู่ภายใต้ Ubuntu ตามที่diff --help | grep ignoreฉันคาดหวังว่าdiff -bBwZจะทำงานได้อย่างสมเหตุสมผล (ฉันคาดว่าจะได้รับผลกระทบเชิงลบบางอย่างที่จะได้รับการจัดการในภายหลัง) อย่างไรก็ตามมันไม่ได้ หากฉันมีไฟล์ต่อไปนี้พร้อมตัวอย่าง test_diff1.txt else if (prop == "P1") { return 0; } และ test_diff2.txt else if (prop == "P1") { return 0; } แล้วก็ $ diff -bBwZ test_diff1.txt …


2
รวมสองไฟล์ด้วย awk
File1.txt item1 carA item2 carB item3 carC item4 platD item5 carE File2.txt carA platA carB platB carC platC carE platE เอาท์พุทที่ต้องการ: item1 platA item2 platB item3 platC item4 platD item5 platE ฉันจะทำมันได้อย่างไร

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