一天一个shell命令 linux文本操作系列-tac,rev命令详解
说明:
tac和rev没有必然联系,唯一相同的是,他们是“反派”。tac其实是cat的反写,cat正常输出,那tac就倒着输出,不过从行的最后一行输出,那rev呢?rev是每行的最后一个字母到第一个字母倒序输出。
简单实例
tac命令
文件过滤分割与合并
tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。
语法
tac(选项)(参数)
选项
-a或――append:将内容追加到文件的末尾;
-i或――ignore-interrupts:忽略中断信号。
参数
文件列表:指定要保存内容的文件列表。
tac tac.txt
tac帮助文档将从最后一行输出
tac帮助文档每行倒着输出,但是从第一行到最后一行输出
查看帮助文档:
tac help
用法:tac [选项]... [文件]...
将每个指定文件按行倒置并写到标准输出。
如果不指定文件,或文件为"-",则从标准输入读取数据。
长选项必须使用的参数对于短选项时也是必需使用的。
-b, --before 在行前而非行尾添加分隔标志
-r, --regex 将分隔标志视作正则表达式来解析
-s, --separator=字符串 使用指定字符串代替换行作为分隔标志
--help 显示此帮助信息并退出
--version 显示版本信息并退出
rev
rev命令将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推。
语法
rev(参数)
参数
文件:指定要反序显示内容的文件。
实例rev help
Usage: rev [options] [file ...]
Options:
-V, --version output version information and exit
-h, --help display this help and exit
[root@localhost ~]# cat iptables.bak # Generated by iptables-save v1.3.5 on Thu Dec 26 21:25:15 2013 *filter :INPUT DROP [48113:2690676] :FORWARD accept [0:0] :OUTPUT ACCEPT [3381959:1818595115] -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A OUTPUT -o lo -j ACCEPT COMMIT # Completed on Thu Dec 26 21:25:15 2013 [root@localhost ~]# rev iptables.bak 3102 51:52:12 62 ceD uhT no 5.3.1v evas-selbatpi yb detareneG # retlif* ]6760962:31184[ PORD TUPNI: ]0:0[ TPECCA DRAWROF: ]5115958181:9591833[ TPECCA TUPTUO: TPECCA j- ol i- TUPNI A- TPECCA j- 22 tropd-- pct m- pct p- TUPNI A- TPECCA j- 08 tropd-- pct m- pct p- TUPNI A- TPECCA j- DEHSILBATSE,DETALER etats-- etats m- TUPNI A- TPECCA j- pmci p- TUPNI A- TPECCA j- ol o- TUPTUO A- TIMMOC 3102 51:52:12 62 ceD uhT no detelpmoC #
这两个命令比较简单,写到一起了。以后类似这种简单命令可能不会再写。因为有朋友问起,基本命令的事,打算起笔,又有点索然无味的感觉。