替换文件中的分隔符:

# Converting a tab delimited file into commas
cat tab_delimited.txt | tr "\t" "," comma_delimited.csv

tr 另一个功能是可以用内建 [:class:] 变量(POSIX 字符类)发挥威力。这些包括了:

[:alnum:] 所有字母和数字
[:alpha:] 所有字母
[:blank:] 所有水平空白
[:cntrl:] 所有控制字符
[:digit:] 所有数字
[:graph:] 所有可打印字符,但不包括空格
[:lower:] 所有小写字母
[:print:] 所有可打印字符,包括空格
[:punct:] 所有标点符号
[:space:] 所有水平或垂直空白
[:upper:] 所有大写字母
[:xdigit:] 所有 16 进制数字
可以将这些连接在一起以组成强大的程序。以下是一个基本的字数统计程序,可用于检查 README 是否被滥用。

cat README.md | tr "[:punct:][:space:]" "\n" | tr "[:upper:]" "[:lower:]" | grep . | sort | uniq -c | sort -nr
# Converting all upper case letters to lower case
cat filename.csv | tr '[A-Z]' '[a-z]'

实用选项:

tr -d 删除字符
tr -s 压缩字符
\b 退格
\f 换页
\v 垂直制表符
\NNN 八进制字符

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code