Hari ini saya belajar sedikit tentang tr
perintah.
Tapi saya terjebak dalam memahami perbedaan antara -c
dan -C
.
Di manual, tertulis:
-C Complement the set of characters in string1, that is ``-C ab'' includes every character except for `a' and `b'.
-c Same as -C but complement the set of values in string1.
Saya tidak begitu mengerti apa arti set of values in string1
dari -c
opsi.
Saya pikir itu mungkin memperlakukan string 1 "ab"
secara keseluruhan dan akan lolos tunggal a
dan b
.
Jadi saya melakukan percobaan:
⇒ echo "ab_a_b" | tr -C 'ba' 'c'
abcacbc%
⇒ echo "ab_a_b" | tr -c 'ba' 'c'
abcacbc%
Hal-hal yang tidak sesuai dengan harapan saya!
Jadi, apa perbedaan antara -C
dan -c
di tr
perintah?
Versi Perangkat Lunak: BSD 2004 pada OSX10.10
command-line
tr
Zen
sumber
sumber
Jawaban:
Manual POSIX mengatakan ini:
dan berisi catatan berikut
Dari sini tampak bahwa
-c
opsi memungkinkan Anda menentukan nilai numerik yang mewakili karakter ASCII alih-alih menggunakan karakter itu sendiri.sumber
set of values
artinya di versi awal ini.pertanyaan ini sebenarnya tentang BSD tr, bukan gnu tr.
BSD tr man:
GNU tr man:
Alat bawaan OSX akan saya yakini sebagai versi BSD.
[kesalahan ketik tetap, sed / tr]
sumber