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

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

4
จะพิมพ์เฉพาะค่าซ้ำซ้อนจากไฟล์ข้อความได้อย่างไร
สมมติว่ามีคอลัมน์ของค่าตัวเลขดังนี้: file1: 1 2 3 3 3 4 4 4 5 6 ฉันต้องการผลลัพธ์: 3 4 นั่นคือมีเพียงบรรทัดที่ซ้ำกัน มีเครื่องมือบรรทัดคำสั่งเพื่อค้นหาสิ่งนี้ใน Linux? (หมายเหตุ: ค่าจะถูกจัดเรียงเป็นตัวเลข)

12
การลบ chars ควบคุม (รวมถึงรหัสคอนโซล / สี) ออกจากสคริปต์
ฉันสามารถใช้คำสั่ง "สคริปต์" เพื่อบันทึกเซสชันแบบโต้ตอบที่บรรทัดคำสั่ง อย่างไรก็ตามสิ่งนี้รวมถึงตัวควบคุมและรหัสสีทั้งหมด ฉันสามารถลบอักขระควบคุม (เช่น backspace) ด้วย "col -b" แต่ฉันไม่พบวิธีที่ง่ายในการลบรหัสสี โปรดทราบว่าฉันต้องการใช้บรรทัดคำสั่งในวิธีปกติดังนั้นไม่ต้องการปิดการใช้งานสีที่นั่น - ฉันแค่ต้องการลบพวกเขาออกจากสคริปต์ออก นอกจากนี้ฉันรู้ว่าสามารถเล่นและลองค้นหา regexp เพื่อแก้ไขสิ่งต่าง ๆ แต่ฉันหวังว่าจะมีวิธีที่ง่ายกว่า (และเชื่อถือได้มากกว่า - จะเกิดอะไรขึ้นถ้ามีรหัสที่ฉันไม่รู้เมื่อฉันพัฒนา regexp) ในการแสดงปัญหา: spl62 tmp: script สคริปต์เริ่มทำงานแล้วไฟล์คือ typescript spl62 lepl: ls add-licence.sed build-example.sh commit-test push-docs.sh add-licence.sh build.sh delete-licence.sed setup.py asn build-test.sh delete-licence.sh src build-doc.sh clean doc-src test.ini spl62 lepl: …

5
ด้วยคำสั่ง Linux“ cat” ฉันจะแสดงเฉพาะบางบรรทัดตามจำนวนได้อย่างไร
หากฉันใช้cat -n text.txtเพื่อกำหนดหมายเลขบรรทัดโดยอัตโนมัติฉันจะใช้คำสั่งเพื่อแสดงเฉพาะหมายเลขที่กำหนดได้อย่างไร

4
ฉันจะใช้คอลัมน์เพื่อกำหนดขอบเขตบนแท็บและไม่เว้นวรรคได้อย่างไร
ฉันต้องการใช้columnคำสั่งUnix เพื่อจัดรูปแบบข้อความ ฉันมีฟิลด์คั่นด้วยแท็บ แต่ในแต่ละฟิลด์ก็มีช่องว่างด้วย columndelimits บนพื้นที่สีขาว (แท็บและช่องว่าง) ฉันจะทำให้คอลัมน์ใช้แท็บเป็นตัวคั่นได้อย่างไร ฉันพยายามระบุแท็บเป็นตัวคั่นโดยใช้: cat myfile | column -t -s"\t"

6
คว้าตัวอักษร [x] ตัวแรกสำหรับสตริงจากไพพ์
หากฉันมีเอาต์พุตที่ยาวมากจากคำสั่ง (บรรทัดเดียว) แต่ฉันรู้ว่าฉันต้องการเพียงแค่ [x] (สมมติว่า 8) ตัวอักษรของเอาต์พุตเป็นวิธีที่ง่ายที่สุดในการรับสิ่งนั้น ไม่มีตัวคั่นใด ๆ

9
วิธีการแยก JSON ด้วยเชลล์สคริปต์ใน Linux?
ฉันมีเอาต์พุต JSON ซึ่งฉันต้องการแยกพารามิเตอร์บางอย่างใน Linux นี่คือเอาต์พุต JSON: { "OwnerId": "121456789127", "ReservationId": "r-48465168", "Groups": [], "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": null, "RootDeviceType": "ebs", "State": { "Code": 16, "Name": "running" }, "EbsOptimized": false, "LaunchTime": "2014-03-19T09:16:56.000Z", "PrivateIpAddress": "10.250.171.248", "ProductCodes": [ { "ProductCodeId": "aacglxeowvn5hy8sznltowyqe", "ProductCodeType": "marketplace" } ], "VpcId": "vpc-86bab0e4", "StateTransitionReason": …

10
วิธีการรับพฤติกรรมผกผันสำหรับ "หาง" และ "หัว"
มีวิธีการhead/ tailเอกสารและรับเอาท์พุทย้อนกลับ; เพราะคุณไม่ทราบว่ามีเอกสารกี่บรรทัด? คือฉันต้องการรับทุกอย่าง แต่ 2 บรรทัดแรกfoo.txtเพื่อต่อท้ายเอกสารอื่น

11
จัดเรียง แต่ให้บรรทัดส่วนหัวอยู่ด้านบน
ฉันได้รับผลลัพธ์จากโปรแกรมที่สร้างหนึ่งบรรทัดที่เป็นส่วนหัวของคอลัมน์จากนั้นเป็นกลุ่มของข้อมูล ฉันต้องการตัดคอลัมน์ต่าง ๆ ของผลลัพธ์นี้และดูเรียงตามคอลัมน์ต่าง ๆ ไม่มีส่วนหัวที่ตัดและการเรียงลำดับจะประสบความสำเร็จได้อย่างง่ายดายผ่านทาง-kตัวเลือกที่จะsortไปพร้อมกับcutหรือawkเพื่อดูชุดย่อยของคอลัมน์นี้ อย่างไรก็ตามวิธีการเรียงลำดับนี้จะรวมส่วนหัวของคอลัมน์เข้ากับส่วนที่เหลือของบรรทัดผลลัพธ์ มีวิธีง่ายๆในการรักษาส่วนหัวไว้ที่ด้านบนหรือไม่?


6
วิธีที่ดีที่สุดในการติดตามบันทึกและดำเนินการคำสั่งเมื่อมีข้อความปรากฏในบันทึก
ฉันมีบันทึกเซิร์ฟเวอร์ที่แสดงบรรทัดข้อความเฉพาะลงในไฟล์บันทึกเมื่อเซิร์ฟเวอร์หยุดทำงาน ฉันต้องการรันคำสั่งเมื่อเซิร์ฟเวอร์ทำงานและด้วยเหตุนี้ให้ทำสิ่งต่อไปนี้: tail -f /path/to/serverLog | grep "server is up" ...(now, e.g., wget on server)? วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร?

11
มีวิธีแก้ไขไฟล์ในสถานที่หรือไม่?
ฉันมีไฟล์ขนาดใหญ่พอสมควร (35Gb) และฉันต้องการกรองไฟล์นี้ในแหล่งกำเนิด (เช่นฉันมีพื้นที่ดิสก์ไม่เพียงพอสำหรับไฟล์อื่น) โดยเฉพาะฉันต้องการ grep และไม่สนใจรูปแบบบางอย่าง - มีวิธีในการ ทำเช่นนี้โดยไม่ใช้ไฟล์อื่น สมมติว่าฉันต้องการกรองบรรทัดทั้งหมดที่มีfoo:ตัวอย่างเช่น ...

5
พิมพ์เนื้อหาไฟล์โดยไม่มีบรรทัดแรกและบรรทัดสุดท้าย
มีวิธีง่าย ๆ ที่ฉันสามารถสะท้อนไฟล์ข้ามบรรทัดแรกและบรรทัดสุดท้ายหรือไม่ ฉันมองไปที่การใส่ท่อheadเข้าไปtailแต่สำหรับสิ่งที่ดูเหมือนว่าฉันจะต้องรู้ว่าสายทั้งหมดตั้งแต่เริ่มแรก ฉันยังดูอยู่splitแต่ฉันไม่เห็นวิธีที่จะทำเช่นนั้น

5
วิธีการทำคำสั่ง if จากผลลัพธ์ของคำสั่งที่เรียกใช้งาน
ฉันกำลังพยายามทำคำสั่ง IF จากผลลัพธ์ของคำสั่งที่เรียกใช้งาน นี่คือวิธีที่ฉันพยายามทำ แต่ไม่ได้ผล ไม่มีใครรู้วิธีที่ถูกต้องในการทำเช่นนี้? if [ "`netstat -lnp | grep ':8080'`" == *java* ]; then echo "Found a Tomcat!" fi


7
รวมไฟล์ข้อความที่ชาญฉลาดคอลัมน์
ฉันมีไฟล์ข้อความสองไฟล์ คนแรกมีเนื้อหา: Languages Recursively enumerable Regular ในขณะที่สองมีเนื้อหา: Minimal automaton Turing machine Finite ฉันต้องการรวมไว้ในหนึ่งคอลัมน์ที่ชาญฉลาด ดังนั้นฉันจึงพยายามpaste 1 2และผลลัพธ์คือ: Languages Minimal automaton Recursively enumerable Turing machine Regular Finite อย่างไรก็ตามฉันต้องการให้คอลัมน์อยู่ในแนวเดียวกันเช่น Languages Minimal automaton Recursively enumerable Turing machine Regular Finite ฉันสงสัยว่ามันจะเป็นไปได้ไหมหากไม่ได้จัดการด้วยตนเอง? ที่เพิ่ม: นี่เป็นอีกตัวอย่างหนึ่งที่ Bruce ใช้วิธีเกือบจะจับมันยกเว้นบางแนวที่ฉันสงสัยว่าทำไม $ cat 1 Chomsky hierarchy Type-0 — $ cat 2 …

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