RUI个人博客 首页>>Linux>>[原] Linux学习笔记之Linux 认识bash shell tr col join paste expand split xargs

[原] Linux学习笔记之Linux 认识bash shell tr col join paste expand split xargs

目录:

16. 字符转换命令 tr  col  join  paste expand
    16.1 col 替换   expand 将tab键转换成8个空格键
    16.2 join  比对数据,如果两个档案相同,则将两笔数据联成一行,且第一个字段放在第一个
    16.3 past 将一个文件粘贴到另一个文件中
    16.4 split 将文件按需分割
17. 参数代换 xargs

16. 字符转换命令 tr  col  join  paste expand

[root@RAC1 tmp]# echo $PATH
[root@RAC1 tmp]# echo $PATH |tr -d ":"           
// echo $PATH输出中去掉 :
[root@RAC1 tmp]# echo $PATH |tr -s ":" "==="
     // echo $PATH输出中用  =  代替  :
[root@RAC1 tmp]# cat -n test
[root@RAC1 tmp]# cat -A test
[root@RAC1 tmp]# unix2dos test
[root@RAC1 tmp]# cat -A test
[root@RAC1 tmp]# cat test |tr -d '\r' >test1
[root@RAC1 tmp]# cat -A test;cat -A test1 
[root@RAC1 tmp]# tr "[a-z]" "[A-Z]" < test1        // 将文件中 小写 a-z  替换为  大写A-Z

   16.1 col 替换   expand 将tab键转换成8个空格键

[root@RAC1 tmp]# tail /etc/man.config |cat -A
[root@RAC1 tmp]# tail /etc/man.config |col -x |cat -A        // 将tab键转换成对等的空格键
[root@RAC1 tmp]# tail /etc/man.config |expand |cat -A     //将tab键转换成 8 个空格键
[root@RAC1 tmp]# tail /etc/man.config |expand -t 1 |cat -A      // 将tab键转换成 1 个空格键
[root@RAC1 tmp]# tail /etc/man.config |expand -t 10 |cat -A    // 将tab键转换成 10 个空格键

   16.2 join  比对数据,如果两个档案相同,则将两笔数据联成一行,且第一个字段放在第一个

[root@RAC1 tmp]# tail -n 4 /etc/passwd>passwd 
[root@RAC1 tmp]# tail -n 4 /etc/group>group
[root@RAC1 tmp]# tail -n 4 /etc/shadow>shadow
[root@RAC1 tmp]# cat -n passwd ;cat -n group ;cat -n shadow 
[root@RAC1 tmp]# join -t ':' passwd group | cat -n
[root@RAC1 tmp]# join -t ':' passwd shadow |cat -n
[root@RAC1 tmp]# join  -t ":" -1  4 passwd -2 3 group |cat -n
// 以passwd的第4个字段 502 和group的第3个字段502进行链接(502就是每个的组id)将组id放到最前

   16.3 past 将一个文件粘贴到另一个文件中

[root@RAC1 tmp]# paste passwd group
[root@RAC1 tmp]# cat -n passwd ; cat -n group
[root@RAC1 tmp]# paste -d ":" passwd group|cat -n
[root@RAC1 tmp]# tail -n 4 /etc/passwd |paste -d '=' group -

   16.4 split 将文件按需分割

[root@RAC1 tmp]# ls -lrt passwd 
[root@RAC1 tmp]# split -b 200 passwd passwd1
[root@RAC1 tmp]# ls -rlt passwd*
[root@RAC1 tmp]# cat -n passwd 
[root@RAC1 tmp]# split -l 2 passwd passwd2
[root@RAC1 tmp]# ls -lrt passwd*
[root@RAC1 tmp]# cat passwd2a* >passwd2
[root@RAC1 tmp]# cat -n passwd2

17. 参数代换 xargs

xargs [-epn] command
-e 是eof的意思。后面可以接一个字符串,当xargs分析到这个字符串时,就会停止工作
-p 在执行每个命令的参数时,都会询问用户的意思
-n 后面接次数,每次command命令执行时,要使用几个参数
当 xargs 后面没有接任何命令时,默认是echo 输出
[root@RAC1 tmp]# ls -l /home/
[root@RAC1 tmp]# find /home/ -type d |xargs chmod 755
[root@RAC1 tmp]# ls -l /home/


cut -d ":" -f1 </etc/passwd |tail -n 3 |xargs -n 3 finger



2016.05.11 于 北京邮储传    tyger.wang
昵  称:
邮  箱:
评论内容:
验 证 码:
可用[code][/code]插入代码
点击刷新验证码