1、tr 替换与删除文字
# tr [-ds] string
- -d :删除所匹配的字符;
- -s :取代掉匹配的重复字符;
范例一:将last输出的讯息,一律变更大写
# last | tr "[a-z]" "[A-Z]"
范例二:输出/etc/passwd内容,并将“:”删除
cat /etc/passwd | tr -d ":"
2、join 合并对应行
# join [-ti12] file1 file2
- -t :设定分隔符,默认为空格。并且比对【第一个字段】的数据,如果两个文件所比对的字段相同,就合并;
- -i :忽略大小写;
- -1 :代表第一个文件;
- -2 :代表第二个文件;
范例一:用root身份,将/etc/passwd与/etc/shadow相关数据合并
# join -t ":" /etc/passwd /etc/shadow
范例二:将/etc/passwd的第4个字段GID与/etc/group的第3个字段比对,并合并
# join -t ":" -1 4 /etc/passwd -2 3 /etc/group
我将第一个档案的第四栏与第二个档案的第三栏取出,放置到输出的最前方,然后将剩下的数据给他加在一起!就成了上面的输出啦!
3、paste 合并行,与join相比它比较简单,没有任何的判断直接合并行
# paste [-d] file1 file2
- -d : 设定分隔符,默认为空格。
4、expand 将【tab】键转换成【空格】键
# expand [-t] file
- -t :设定【空格】键为多少个;
范例一:
# grep "^MANPATH" /etc/man.config | head -3 | expand -t 6 - | cat -A
这里需要说明的是,expand -t 6 后面的符号“-”,它代表stdout。可省略在这里。
5、split 分割文件
# split [-bl] file PREFIX
- -b :设定分割限定单位,例如 b、k、m;
- -l :设定分割限定行数;
范例一:将file.txt文件已200K来分割
# split -b 200k file.txt sfile.txt
被分割的文件会以你所定义sfile.txt来命名,并已该文件名称追加aa、ab、ac、等方式来区分。
范例二:将file.txt文件已每20行来分割
# split -l 20 file.txt sfile.txt