Сегодня я немного узнал о tr
команде.
Но я застрял в понимании разницы между -c
и -C
.
В руководстве сказано:
-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.
Я не совсем понимаю , что делает set of values in string1
из -c
опционного среднего.
Я думал, что это может относиться к строке 1 "ab"
в целом и избежать одиночного a
и b
.
Итак, я сделал эксперимент:
⇒ echo "ab_a_b" | tr -C 'ba' 'c'
abcacbc%
⇒ echo "ab_a_b" | tr -c 'ba' 'c'
abcacbc%
Вещи не соответствовали моим ожиданиям!
Итак, в чем разница между -C
и -c
в tr
команде?
Версия программного обеспечения: BSD 2004 на OSX10.10
command-line
tr
Zen
источник
источник
Ответы:
Руководство POSIX говорит это:
и содержит следующую заметку
Отсюда видно, что
-c
опция позволяет вам указывать числовые значения, представляющие символ ASCII, вместо использования самих символов.источник
set of values
значит в этой ранней версии.на самом деле этот вопрос касается BSD tr, а не gnu tr.
BSD tr man:
GNU tr man:
Я считаю, что встроенные инструменты OSX будут версиями BSD.
[исправлена опечатка, sed / tr]
источник