Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

การกระจาย GNU/Linux มีโปรแกรมมากมายสำหรับจัดการข้อความ ซึ่งส่วนใหญ่มีให้โดยยูทิลิตี้หลักของ GNU มีช่วงการเรียนรู้ค่อนข้างมาก แต่ยูทิลิตี้เหล่านี้สามารถพิสูจน์ได้ว่ามีประโยชน์และมีประสิทธิภาพมากเมื่อใช้อย่างถูกต้อง

ต่อไปนี้คือเครื่องมือจัดการข้อความอันทรงพลังสิบสามเครื่องมือที่ผู้ใช้บรรทัดคำสั่งทุกคนควรรู้

1. แมว

แมวถูกออกแบบมาสำหรับแมว enate ไฟล์ แต่ส่วนใหญ่มักใช้เพื่อแสดงไฟล์เดียว โดยไม่มีข้อโต้แย้ง cat จะอ่านอินพุตมาตรฐานจนถึง Ctrl + D ถูกกด (จากเทอร์มินัลหรือจากเอาต์พุตโปรแกรมอื่นหากใช้ไพพ์) อินพุตมาตรฐานยังสามารถระบุอย่างชัดเจนด้วย - .

Cat มีตัวเลือกที่มีประโยชน์มากมาย โดยเฉพาะอย่างยิ่ง:

  • -A พิมพ์ “$” ที่ส่วนท้ายของแต่ละบรรทัดและแสดงอักขระที่ไม่พิมพ์โดยใช้เครื่องหมายคาเร็ต
  • -n ตัวเลขทุกบรรทัด
  • -b เส้นตัวเลขที่ไม่เว้นว่าง
  • -s ลดชุดของบรรทัดว่างให้เหลือบรรทัดเดียว

ในตัวอย่างต่อไปนี้ เรากำลังเชื่อมต่อและกำหนดหมายเลขเนื้อหาของ file1, standard input และ file3

cat -n file1 - file3
เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

2. เรียงลำดับ

ตามชื่อของมัน sort จัดเรียงเนื้อหาไฟล์ตามตัวอักษรและตัวเลข

เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

3. ยูนีค

Uniq นำไฟล์ที่เรียงลำดับแล้วลบบรรทัดที่ซ้ำกัน มันมักจะถูกล่ามโซ่ด้วย sort ในคำสั่งเดียว

เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

4. คอม

Comm ใช้เพื่อเปรียบเทียบไฟล์ที่เรียงลำดับสองไฟล์ ทีละบรรทัด โดยจะแสดงผลเป็นสามคอลัมน์:สองคอลัมน์แรกมีบรรทัดที่ไม่ซ้ำกันสำหรับไฟล์ที่หนึ่งและที่สองตามลำดับ และคอลัมน์ที่สามจะแสดงข้อมูลที่พบในทั้งสองไฟล์

เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

5. ตัด

Cut ใช้เพื่อดึงเฉพาะส่วนของบรรทัด ตามอักขระ ฟิลด์ หรือไบต์ สามารถอ่านจากไฟล์หรือจากอินพุตมาตรฐานหากไม่มีการระบุไฟล์

ตัดตามตำแหน่งของตัวละคร

-c ตัวเลือกระบุตำแหน่งอักขระตัวเดียวหรือช่วงอักขระหนึ่งช่วงขึ้นไป

ตัวอย่างเช่น:

  • -c 3 :อักขระตัวที่ 3
  • -c 3-5 :จากตัวที่ 3 ถึงตัวที่ 5
  • -c -5 หรือ -c 1-5 :จากอักขระตัวที่ 1 ถึงตัวที่ 5
  • -c 5- :จากอักขระตัวที่ 5 ถึงท้ายบรรทัด
  • -c 3,5-7 :ตัวที่ 3 และจากตัวที่ 5 ถึงตัวที่ 7
เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

ตัดตามฟิลด์

ช่องต่างๆ จะถูกคั่นด้วยตัวคั่นที่ประกอบด้วยอักขระตัวเดียว ซึ่งระบุด้วย -d ตัวเลือก. -f option เลือกตำแหน่งฟิลด์หรือช่วงของฟิลด์อย่างน้อยหนึ่งช่วงโดยใช้รูปแบบเดียวกับด้านบน

เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

6. ดอส2ยูนิกซ์

GNU/Linux และ Unix มักจะยุติบรรทัดข้อความด้วยการป้อนบรรทัด (LF) ในขณะที่ Windows ใช้การขึ้นบรรทัดใหม่และการป้อนบรรทัด (CRLF) ปัญหาความเข้ากันได้อาจเกิดขึ้นได้เมื่อจัดการข้อความ CRLF บน Linux ซึ่งเป็นที่มาของ dos2unix โดยจะแปลงเทอร์มินัล CRLF เป็น LF

ในตัวอย่างต่อไปนี้ file คำสั่งที่ใช้ตรวจสอบรูปแบบข้อความก่อนและหลังการใช้ dos2unix .

เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

7. พับ

หากต้องการให้ข้อความยาวๆ อ่านและจัดการได้ง่ายขึ้น คุณสามารถใช้ fold ซึ่งตัดเส้นตามความกว้างที่กำหนด

พับตรงกับความกว้างที่ระบุโดยค่าเริ่มต้น ทำลายคำในกรณีที่จำเป็น

fold -w 30 longline.txt
เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

หากไม่ต้องการคำแตก คุณสามารถใช้ -s ตัวเลือกที่จะทำลายในช่องว่าง

fold -w 30 -s longline.txt
เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

8. ไอคอนv

เครื่องมือนี้แปลงข้อความจากการเข้ารหัสหนึ่งไปยังอีกการเข้ารหัสหนึ่ง ซึ่งมีประโยชน์มากเมื่อต้องจัดการกับการเข้ารหัสที่ผิดปกติ

iconv -f input_encoding -t output_encoding -o output_file input_file
  • “input_encoding” คือการเข้ารหัสที่คุณกำลังแปลงจาก
  • “output_encoding” คือการเข้ารหัสที่คุณกำลังแปลงเป็น
  • “output_file” คือชื่อไฟล์ที่ iconv จะบันทึก
  • “input_file” คือชื่อไฟล์ที่ iconv จะใช้อ่าน

หมายเหตุ: คุณสามารถแสดงรายการการเข้ารหัสที่มีอยู่ด้วย iconv -l

9. โสด

sed เป็น s . ที่ทรงพลังและยืดหยุ่น สตรีม เอ็ด itor มักใช้ในการค้นหาและแทนที่สตริงด้วยไวยากรณ์ต่อไปนี้

คำสั่งต่อไปนี้จะอ่านจากไฟล์ที่ระบุ (หรืออินพุตมาตรฐาน) แทนที่ส่วนของข้อความที่ตรงกับรูปแบบนิพจน์ทั่วไปด้วยสตริงการแทนที่และส่งออกผลลัพธ์ไปยังเทอร์มินัล

sed s/pattern/replacement/g filename

หากต้องการแก้ไขไฟล์ต้นฉบับแทน คุณสามารถใช้ -i ธง.

เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

10. wc

wc ยูทิลิตีพิมพ์จำนวนไบต์ อักขระ คำ หรือบรรทัดในไฟล์

เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

11. แยก

คุณสามารถใช้ split เพื่อแบ่งไฟล์เป็นไฟล์ขนาดเล็กลง ตามจำนวนบรรทัด ตามขนาด หรือตามจำนวนไฟล์ที่กำหนด

แยกตามจำนวนบรรทัด

split -l num_lines input_file output_prefix
เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

แยกตามไบต์

split -b bytes input_file output_prefix
เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

แยกเป็นจำนวนไฟล์ที่กำหนด

split -n num_files input_file output_prefix
เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

12. แทค

Tac ซึ่งกลับด้าน cat ทำอย่างนั้น:แสดงไฟล์ที่มีบรรทัดในลำดับที่กลับกัน

เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

13. tr

เครื่องมือ tr ใช้เพื่อแปลหรือลบชุดอักขระ

ชุดอักขระมักจะเป็นสตริงหรือช่วงของอักขระ ตัวอย่างเช่น:

  • “A-Z”:ตัวพิมพ์ใหญ่ทั้งหมด
  • “a-z0-9”:ตัวพิมพ์เล็กและตัวเลข
  • “\n[:punct:]”:ขึ้นบรรทัดใหม่และเครื่องหมายวรรคตอน

ดูรายละเอียดเพิ่มเติมในหน้าคู่มือ tr

หากต้องการแปลชุดหนึ่งเป็นชุดอื่น ให้ใช้ไวยากรณ์ต่อไปนี้:

tr SET1 SET2

ตัวอย่างเช่น ในการแทนที่อักขระตัวพิมพ์เล็กด้วยตัวพิมพ์ใหญ่ที่เทียบเท่า คุณสามารถใช้สิ่งต่อไปนี้:

tr "a-z" "A-Z"
เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

หากต้องการลบชุดอักขระ ให้ใช้ -d ธง.

tr -d SET
เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

หากต้องการลบส่วนเสริมของชุดอักขระ (เช่น ทุกอย่างยกเว้นชุด) ให้ใช้ -dc .

tr -dc SET
เครื่องมือที่มีประโยชน์สิบสามอย่างสำหรับการทำงานกับข้อความบน Command Line

บทสรุป

มีมากมายให้เรียนรู้เมื่อพูดถึงบรรทัดคำสั่ง Linux หวังว่าคำสั่งข้างต้นจะช่วยให้คุณจัดการกับข้อความในบรรทัดคำสั่งได้ดียิ่งขึ้น