อ่าน 3 นาที
tr (ยูนิกซ์)
tr เป็น คำสั่ง ใน ระบบปฏิบัติการ Unix , Plan 9 , Inferno และ ระบบปฏิบัติการ ที่คล้าย Unix เป็นคำย่อของ translate หรือ transliterate...
tr (ยูนิกซ์)
| tr | |
|---|---|
คำ trสั่ง | |
| ผู้เขียนต้นฉบับ | ดักลาส แมคอิลรอย ( เอทีแอนด์ที เบลล์ แล็บโบราทอรีส์ ) |
| นักพัฒนา | นักพัฒนาซอฟต์แวร์โอเพนซอร์สและเชิงพาณิชย์หลายราย |
| ปล่อย | พฤศจิกายน พ.ศ. 2516 |
| เขียนเป็น | ซี |
| ระบบปฏิบัติการ | ยูนิก , ระบบปฏิบัติการคล้ายยูนิก , Plan 9 , Inferno , OS-9 , MSX-DOS , IBM i |
| แพลตฟอร์ม | ข้ามแพลตฟอร์ม |
| พิมพ์ | สั่งการ |
| ใบอนุญาต | coreutils : GPLv3+แผน 9: ใบอนุญาต MIT |
| ที่เก็บข้อมูล |
|
trเป็นคำสั่งใน ระบบปฏิบัติการ Unix , Plan 9 , Infernoและ ระบบปฏิบัติการ ที่คล้าย Unixเป็นคำย่อของtranslateหรือtransliterateซึ่งบ่งบอกถึงการทำงานของการแทนที่หรือลบอักขระเฉพาะในชุดข้อมูลอินพุต
ภาพรวม
โปรแกรมนี้อ่านสตรีมไบต์จากอินพุตมาตรฐานและเขียนผลลัพธ์ไปยังเอาต์พุตมาตรฐานโดยรับอาร์กิวเมนต์เป็นชุดอักขระสองชุด (โดยทั่วไปมีความยาวเท่ากัน) และแทนที่อักขระในชุดแรกด้วยองค์ประกอบที่สอดคล้องกันจากชุดที่สอง ตัวอย่างเช่น
tr 'abcd' 'jkmn'
ฟังก์ชัน นี้ จะจับคู่ตัวอักษรaกับj , bกับk , cกับmและdกับn
ชุดอักขระสามารถย่อได้โดยใช้ช่วงอักขระ ตัวอย่างก่อนหน้านี้สามารถเขียนได้ดังนี้:
tr 'ad' 'jkmn'
ในเวอร์ชันที่สอดคล้อง กับมาตรฐาน POSIXtrชุดอักขระที่แสดงโดยช่วงอักขระจะขึ้นอยู่กับลำดับการเรียงของภาษาท้องถิ่น ดังนั้นจึงปลอดภัยกว่าที่จะหลีกเลี่ยงการใช้ช่วงอักขระในสคริปต์ที่อาจถูกเรียกใช้ในภาษาท้องถิ่นที่แตกต่างจากภาษาที่เขียนสคริปต์นั้น ช่วงอักขระมักจะสามารถแทนที่ด้วย ชุดอักขระ POSIXเช่น[:alpha:]ได้
sตัวเลือกนี้ จะ trบีบอัดลำดับของอักขระที่เหมือนกันที่อยู่ติดกันในผลลัพธ์ให้เหลือเพียงโทเค็นเดียว ตัวอย่างเช่น
tr -s '\n'
แทนที่ลำดับของอักขระขึ้นบรรทัดใหม่หนึ่งตัวขึ้นไปด้วยอักขระขึ้นบรรทัดใหม่เพียงตัวเดียว
แฟล็ก นี้dจะทำให้trลบโทเค็นทั้งหมดของชุดอักขระที่ระบุออกจากอินพุต ในกรณีนี้ จะใช้เพียงอาร์กิวเมนต์ชุดอักขระเดียวเท่านั้น คำสั่งต่อไปนี้จะลบอักขระขึ้นบรรทัดใหม่ (carriage return)
tr -d '\r'
ธงcแสดงถึงส่วนเติมเต็มของชุดอักขระชุดแรก การเรียกใช้
tr -cd '[:alnum:]'
ดังนั้นจึงลบอักขระที่ไม่ใช่ตัวอักษรและตัวเลขทั้งหมดออก
การนำไปใช้
เวอร์ชันดั้งเดิมtrเขียนโดยDouglas McIlroyและเปิดตัวในUnix เวอร์ชัน 4 [ 1 ]
เวอร์ชันที่trรวมอยู่ในGNU coreutilsเขียนโดย Jim Meyering [ 2 ]คำสั่งนี้มีให้ใช้งานเป็นแพ็กเกจแยกต่างหากสำหรับMicrosoft Windowsซึ่งเป็นส่วนหนึ่งของชุดUnxUtils ซึ่งเป็น พอร์ตWin32 ดั้งเดิม ของยูทิลิตี้ทั่วไปที่คล้ายกับ GNU Unix [ 3 ]นอกจากนี้ยังมีให้ใช้งานในเชลล์OS-9 [ 4 ]คำสั่งนี้ยังเป็นส่วนหนึ่งของMSX-DOS2 ToolsของASCIIสำหรับMSX-DOSเวอร์ชัน 2 [ 5 ]คำ สั่ง trยังได้รับการพอร์ตไปยังระบบปฏิบัติการIBM i ด้วย [ 6 ]tr
ระบบส่วนใหญ่trรวมถึง GNU trและ Unix รุ่นคลาสสิกtrทำงานกับอักขระแบบไบต์เดียวและไม่ รองรับ Unicodeข้อยกเว้นคือ การใช้งาน Heirloom Toolchestซึ่งให้การสนับสนุน Unicode ขั้นพื้นฐาน
RubyและPerlยังมี ตัวดำเนินการ tr ภายใน ซึ่งทำงานในลักษณะเดียวกัน[ 7 ] [ 8 ] คำสั่ง mapของ สตริงใน Tclนั้นเป็นแบบทั่วไปมากกว่า เนื่องจากมันแมปสตริงไปยังสตริง ในขณะที่ tr แมปอักขระไปยังอักขระ[ 9 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- – เอกสารอ้างอิงเชลล์และยูทิลิตี้จากข้อกำหนด UNIX ฉบับเดียวเวอร์ชัน 5 จากThe Open Group
- tr(1) – หน้าคู่มือ Unix รุ่นที่ 8
- – คู่มือคำสั่งทั่วไปของ FreeBSD
- – คู่มืออ้างอิงคำสั่งผู้ใช้Solaris 11.4
- – คู่มือผู้ใช้Linux – คำสั่งผู้ใช้
- – คู่มือโปรแกรมเมอร์Plan 9 เล่ม 1
- – คู่มือคำสั่งทั่วไปของเกม Inferno
- ตัวอย่างการใช้งานอยู่ที่ examplenow.com
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ tr (ยูนิกซ์)
tr เป็น คำสั่ง ใน ระบบปฏิบัติการ Unix , Plan 9 , Inferno และ ระบบปฏิบัติการ ที่คล้าย Unix เป็นคำย่อของ translate หรือ transliterate...
ภาพรวม
โปรแกรมนี้อ่านสตรีมไบต์จาก อินพุตมาตรฐาน และเขียนผลลัพธ์ไปยัง เอาต์พุตมาตรฐาน โดยรับ อาร์กิวเมนต์ เป็นชุดอักขระสองชุด (โดยทั่วไปมีความยาวเท่ากัน) และแทนที่อักขระในชุดแรกด้วยองค์ประกอบที่สอดคล้องกันจากชุดที่สอง ตัวอย่างเช่น
การนำไปใช้
เวอร์ชันดั้งเดิม tr เขียนโดย Douglas McIlroy และเปิดตัวในUnix เวอร์ชัน 4 [ 1 ]
ดูเพิ่มเติม
เซด รายการคำสั่ง Unix ยูทิลิตี้หลักของ GNU