Linux tee命令用法详解:把数据重定向到给定文件和屏幕上 文件过滤分割与合并

Linux tee命令用法详解:把数据重定向到给定文件和屏幕上

tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。 存在缓存机制,每1024个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到1024个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。 语法 tee(选项)(参数) 选项 -a:向文件中重定向时使用追加模式; -i:忽略中断(interrupt)信号。 参数 文件:指定输出重定向的文件。 在终端打印stdout同时重定向到文件中: ls | tee out.txt 1.sh 1.txt 2.txt eee.tst EEE.tst one out.txt string2 www.pdf WWW.pdf WWW.pef [[email protected] text]# ls | tee out.txt | cat -n 1 1.sh 2 1.txt 3 2.txt 4 eee.tst 5 EEE.tst 6 one 7 out.txt 8 string2 9 www.pdf 10 WWW.pdf 11 WWW.pef
阅读全文
Linux uniq命令用法详解:报告或忽略文件中的重复行 文件过滤分割与合并

Linux uniq命令用法详解:报告或忽略文件中的重复行

uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。 语法 uniq(选项)(参数) 选项 -c或——count:在每列旁边显示该行重复出现的次数; -d或--repeated:仅显示重复出现的行列; -f<栏位>或--skip-fields=<栏位>:忽略比较指定的栏位; -s<字符位置>或--skip-chars=<字符位置>:忽略比较指定的字符; -u或——unique:仅显示出一次的行列; -w<字符位置>或--check-chars=<字符位置>:指定要比较的字符。 参数 输入文件:指定要去除的重复行文件。如果不指定此项,则从标准读取数据; 输出文件:指定要去除重复行后的内容要写入的输出文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。 实例 删除重复行: uniq file.txt sort file.txt | uniq sort -u file.txt 只显示单一行: uniq -u file.txt sort file.txt | uniq -u 统计各行在文件中出现的次数: sort file.txt | uniq -c 在文件中找出重复的行: sort file.txt | uniq -d
阅读全文
Linux tr命令用法详解:将字符进行替换压缩和删除 文件过滤分割与合并

Linux tr命令用法详解:将字符进行替换压缩和删除

tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。 语法 tr(选项)(参数) 选项 -c或——complerment:取代所有不属于第一字符集的字符; -d或——delete:删除所有属于第一字符集的字符; -s或--squeeze-repeats:把连续重复的字符以单独一个字符表示; -t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。 参数 字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”; 字符集2:指定要转换成的目标字符集。 实例 将输入字符由大写转换为小写: echo "HELLO WORLD" | tr 'A-Z' 'a-z' hello world 'A-Z' 和 'a-z'都是集合,集合是可以自己制定的,例如:'ABD-}'、'bB.,'、'a-de-h'、'a-c0-9'都属于集合,集合里可以使用'\n'、'\t',可以可以使用其他ASCII字符。 使用tr删除字符: echo "hello 123 world 456" | tr -d '0-9' hello world 将制表符转换为空格: cat text | tr '\t' ' ' 字符集补集,从输入文本中将不在补集中的所有字符删除: echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n' 1 2 3 4 此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了。 用tr压缩字符,可以压缩输入中重复的字符: echo "thissss is a text linnnnnnne." | tr -s ' sn' this is a text...
阅读全文
Linux printf命令用法详解:格式化并输出结果 文件过滤分割与合并

Linux printf命令用法详解:格式化并输出结果

printf命令格式化并输出结果到标准输出。 语法 printf(选项)(参数) --help:在线帮助; --version:显示版本信息。 参数 输出格式:指定数据输出时的格式; 输出字符串:指定要输出的数据。 格式替代符 %b 相对应的参数被视为含有要被处理的转义序列之字符串。 %c ASCII字符。显示相对应参数的第一个字符 %d, %i 十进制整数 %e, %E, %f 浮点格式 %g %e或%f转换,看哪一个较短,则删除结尾的零 %G %E或%f转换,看哪一个较短,则删除结尾的零 %o 不带正负号的八进制值 %s 字符串 %u 不带正负号的十进制值 %x 不带正负号的十六进制值,使用a至f表示10至15 %X 不带正负号的十六进制值,使用A至F表示10至15 %% 字面意义的% 转义序列 \a 警告字符,通常为ASCII的BEL字符 \b 后退 \c 抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略 \f 换页(formfeed) \n 换行 \r 回车(Carriage return) \t 水平制表符 \v 垂直制表符 \\ 一个字面上的反斜杠字符 \ddd 表示1到3位数八进制值的字符,仅在格式字符串中有效 \0ddd 表示1到3位的八进制值字符 实例 printf "hello world" #!/bin/bash printf "%-5s %-10s %-4s\n" NO Name Mark printf "%-5s %-10s %-4.2f\n" 01 Tom 90.3456 printf "%-5s %-10s...
阅读全文