linux command

tr

Linux Command – tr ใช้ในการค้นหาและเปลียนแปลงข้อมูล text

 

คำสั่ง

ตัวอบ่าง file1

$ cat file1
hello world
Bye

 

1. ค้นหาและเปลี่ยนแปลงตัวอักษร

$ cat file1 |tr 'w' 'W'
hello World
Bye
$ tr 'w' 'W' < file1
hello World
Bye

 

2. เว้นบรรทัดทุกคำ

$ tr -cs "[:alpha:]" "\n" < file1
hello
world
Bye

 

3. เปลี่ยนตัวอักษรเป็นตัวใหญ่ (uppercase)

$ tr "[:lower:]" "[:upper:]" < file1
HELLO WORLD
BYE

 

4. ลบตัวอักษรที่แสดงไม่ได้ เช่น \n

$ tr -cd "[:print:]" < file1
hello worldBye$ 

 

โครงสร้างคำสั่ง

 tr [OPTION]... SET1 [SET2]

 

รายละเอียด

เป็นคำสั่งที่ใช้ในการค้นหาและเปลียนแปลงข้อมูล text คล้ายคำสั่ง sed แต่ความสามารถต่ำกว่า

 

Option

 -c, -C, --complement
 use the complement of SET1

 -d, --delete
 delete characters in SET1, do not translate

 -s, --squeeze-repeats
 replace each sequence of a repeated character that is listed in the last specified SET, with a single occurrence of that character

 -t, --truncate-set1
 first truncate SET1 to length of SET2

 --help display this help and exit

 --version
 output version information and exit

 SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are:

 \NNN character with octal value NNN (1 to 3 octal digits)

 \\ backslash

 \a audible BEL

 \b backspace

 \f form feed

 \n new line

 \r return

 \t horizontal tab

 \v vertical tab

 CHAR1-CHAR2
 all characters from CHAR1 to CHAR2 in ascending order

 [CHAR*]
 in SET2, copies of CHAR until length of SET1

 [CHAR*REPEAT]
 REPEAT copies of CHAR, REPEAT octal if starting with 0

 [:alnum:]
 all letters and digits

 [:alpha:]
 all letters

 [:blank:]
 all horizontal whitespace

 [:cntrl:]
 all control characters

 [:digit:]
 all digits

 [:graph:]
 all printable characters, not including space

 [:lower:]
 all lower case letters

 [:print:]
 all printable characters, including space

 [:punct:]
 all punctuation characters

 [:space:]
 all horizontal or vertical whitespace

 [:upper:]
 all upper case letters

 [:xdigit:]
 all hexadecimal digits

 [=CHAR=]
 all characters which are equivalent to CHAR

 Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as
 necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used
 in pairs to specify case conversion. -s uses the last specified SET, and occurs after translation or deletion.

 

กลุ่มคำสั่ง

ed, sed

 

Reference:

คำสั่ง Unix – Linux Command

Linux, Unix

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com

Leave a Reply