5.4 拼接文件,并给文件加上行号
cat -n file1 file2
写诗和写源代码一样,加上行号会非常好,可以使引用更明确。如果使用cat
命令时想生成行号,可以增加-n
选项(或--number
)。
$ cat -n housman_-_rue.txt quarles_-_the_world.txt
1 WITH rue my heart is laden
2 For golden friends I had,
3 For many a rose-lipt maiden
4 And many a lightfoot lad.
5 By brooks too broad for leaping
6 The lightfoot boys are laid;
7 The rose-lipt girls are sleeping
8 In fields where roses fade.
9 The world's an Inn; and I her guest.
10 I eat; I drink; I take my rest.
11 My hostess, nature, does deny me
12 Nothing, wherewith she can supply me;
13 Where, having stayed a while, I pay
14 Her lavish bills, and go my way.
行号非常有用,cat
命令提供了一种快捷的方法,可以在文件中加入行号。
说明 比
cat
命令更好的命令是dog
命令(更多信息可以访问http://opensource.weblogsinc.com/2005/02/17/why-dogs-are-betters-than-cats)。除了本地文件,还可以用dog
命令在stdout
上查看网页HTML源代码,以及指定网页上的一系列图片或链接。dog
命令能够把所有字符转换成小写字符,反之亦然;能够将行结束符转换成Mac OS、DOS、或者Unix系统中使用的符号;甚至能够指定要输出的字符的范围(例如,5~25行)。dog
命令的man page也是非常有趣的东西,这更不必说了。这真是一只懂得很多窍门的小狗。
与cat
命令相对应,还创建了另外一个程序:tac
。它的名称中的字母顺序正好与cat
相反。tac
的功能是:反向拼接文件①。它并不是你随时都需要使用的东西,不过现在先知道实现这个功能原来这么容易,在你需要它时就好办了。
①
cat
是从第一行显示到最后一行,而tac
则是从最后一行显示到第一行。——译者注