TR命令
替换文件中的分隔符:
# 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 八进制字符