คำถามติดแท็ก cut

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

2
coreutils ที่ utf ทราบหรือไม่?
เมื่อฉันใช้cutวันนี้ฉันพบว่ามันไม่ได้ใช้อักขระ UTF-8 เป็นตัวละคร แต่เป็น 3 ตัวเพราะความยาว 3 ไบต์ เรื่องนี้ดูเหมือนจะเป็นจริงสำหรับเครื่องมือต่าง ๆ มีรุ่นของcoreutilsUTF-8 ที่ทราบหรือไม่ localeผลลัพธ์ของฉัน: LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= นี่คือเมื่อcutไม่ทำงาน echo 哈哈 | cut -c 2- ��哈 ผลลัพธ์ที่ถูกต้องควรเป็น 哈 หากcut -cทำงานกับอักขระหลายไบต์
16 unicode  coreutils  cut 

3
ไม่สามารถใช้ `cut -c` (` --characters`) กับ UTF-8 ได้หรือไม่?
คำสั่งcutมีตัวเลือกในการทำงานกับตัวละครแทนของไบต์ที่มีตัวเลือก-c -bแต่ดูเหมือนจะไม่ทำงานในen_US.UTF-8สถานที่: ไบต์ที่สองให้อักขระ ASCII ตัวที่สอง (ซึ่งเข้ารหัสเหมือนกันใน UTF-8): $ printf 'ABC' | cut -b 2 B แต่ไม่ได้ให้อักขระที่สองในสามของอักขระที่ไม่ใช่ ASCII กรีกในโลแคล UTF-8: $ printf 'αβγ' | cut -b 2 � ว่าไม่เป็นไร - เป็นที่สองไบต์ ดังนั้นเรามองไปที่ตัวละครที่สองแทน: $ printf 'αβγ' | cut -c 2 � ดูหัก ด้วยการทดลองบางอย่างปรากฎว่าช่วง3-4แสดงตัวละครที่สอง: $ printf 'αβγ' | cut -c 3-4 β แต่นั่นก็เหมือนกับไบต์ …

7
รวมเอาคัตเอาท์ 2 แบบที่แตกต่างกันในคำสั่งเดียว?
ฉันมีไฟล์ดังต่อไปนี้: 1234 ABCD EFGH ฉันต้องการแปลงให้เป็นดังต่อไปนี้: 2341 BCDA FGHE ไฟล์จริงมี 4,000 คำดังนั้นฉันต้องการทำอย่างมีประสิทธิภาพ ฉันลองใช้คำสั่งcut -c 2-4,1 file.txtแต่มันสร้างเอาต์พุตที่แน่นอนเหมือนกับอินพุต ฉันคิดว่าฉันสามารถใช้คำสั่งที่แตกต่างกัน 3 คำ: cut -c 1 file.txt > temp1.txt cut -c 2-4 file.txt > temp2.txt // combine the two with paste or pr ... แต่ฉันต้องการคำสั่งเดียวเพราะฉันต้องเรียกใช้หลายครั้งด้วยการแก้ไขเล็กน้อยดังนั้นการเรียกใช้หนึ่งคำสั่งจะเกิดข้อผิดพลาดน้อยกว่าการรัน 3 คำสั่งในแต่ละครั้ง มีวิธีใดบ้างที่จะรวมคำแถลงที่ตัด 2 ฉบับเข้าด้วยกัน สิ่งที่ต้องการ: cut -c 1 file.txt …

5
ตัดคอลัมน์ 2 จากไฟล์ข้อความ
ไฟล์ข้อความของฉันไม่มีตัวคั่นเพื่อระบุช่องว่างตัวคั่นฉันจะตัดคอลัมน์ 2 ไปยังไฟล์เอาต์พุตได้อย่างไร 39 207 City and County of San Francisc REJECTED MAT = 0 78 412 Cases and materials on corporat REJECTED MAT = 0 82 431 The preparation of contracts an REJECTED MAT = 0 เอาท์พุทที่ฉันต้องการคือ 207 412 432

3
ตัดสตริงบนตัวคั่นล่าสุด
ฉันมีชื่อไฟล์เช่นa.b.c.txtผมต้องการสตริงนี้จะแยกเป็น string1=a.b.c string2=txt โดยทั่วไปฉันต้องการแยกชื่อไฟล์และส่วนขยาย ผมใช้cutแต่มันแยกเป็นและa,b,c txtฉันต้องการตัดสายบนตัวคั่นสุดท้าย ใครช่วยได้บ้าง
14 shell  cut 

3
ตัดความกว้างบรรทัด stdout แบบไดนามิกใน Bash
เมื่อเร็ว ๆ นี้ฉันได้ทดลองกับpsคำสั่งและบางครั้งเส้นทางที่ยาวพันไปยังบรรทัดถัดไป (หรือสอง) และทำให้อ่านยาก ฉันต้องการไพพ์psเอาต์พุตในโปรแกรมอื่นเพื่อ จำกัด เอาต์พุตเป็นxจำนวนอักขระ นี่คือสิ่งที่ฉันมีจนถึงตอนนี้ แต่มันใช้งานไม่ได้: ps aux | cut -c1-$(stty size | cut -d' ' -f2) $(stty size | cut -d' ' -f2)ประเมินถึง 167 cutแต่ไม่ได้ดูเหมือนจะมีการป้อนข้อมูลที่ถูกต้องสำหรับ มีวิธีรับไวยากรณ์ประเภทนี้ทำงานในทุบตี?
9 bash  shell  stdout  cut 

6
หยิบเนื้อหาบางอย่างของไฟล์
ดังนั้นฉันรู้ว่าเครื่องมือมีอยู่สำหรับปัญหานี้เพราะฉันเคยได้ยินเกี่ยวกับพวกเขา แต่ฉันไม่รู้ว่าพวกเขาคืออะไร ฉันต้องการทำอะไรบางอย่างเช่นกรองข้อมูลทั้งหมดยกเว้นชื่อผู้ใช้ใน / etc / passwd ตัวอย่างเช่นฉันต้องการคว้า user1, user2 และ user3 จากไฟล์ต่อไปนี้ ในกรณีนี้ตรรกะอาจเป็น "หยิบข้อความถึง ':' แรกในแต่ละบรรทัดของไฟล์" user1:x:1:4 user2:x:2:5 user3:x:3:6 ผลลัพธ์จะเป็น: user1 user2 user3
9 files  sed  awk  cut 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.