cut命令
cut常用参数
cut命令用来显示行中的指定部分,删除文件中指定字段。
说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件fl和fn的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。
语法: cut(选项)(参数)
选项
-b:仅显示行中指定范围的字节数;
-c:仅显示行中指定范围的字符;
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
-f:显示指定字段的内容;
例1:输出系统中所有用户名
使用 -f 选项提取指定字段,使用 -d 选项指定字段分隔符,这里以:冒号做分隔
[root@localhost63 ~]# cut -f1 -d ":" /etc/passwd
cut命令可以将一串字符作为列来显示,字符字段的记法:
N-:从第N个字节、字符、字段到结尾;
N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
-M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。
上面是记法,结合下面选项将摸个范围的字节、字符指定为字段:
-b 表示字节;
-c 表示字符;
-f 表示定义字段。
示例
例1:打印第1个到第3个字符:
[root@localhost63 ~]# cut -c1-3 /etc/passwd
例2:打印前2个字符:
[root@localhost63 ~]# cut -c-2 /etc/passwd
例3:打印从第5个字符开始到结尾:
[root@localhost63 ~]# cut -c5- /etc/passwd
bash脚本语法检查和查看详细的执行过程
检查语法是否有错:
bash -v test.bash #查看bash是否存在语法错误
bash -x test.bash #查看bash详细的执行过程
[root@localhost63 ~]# cat a.sh
# Script to show debug of shell
#
tot=`expr $1 + $2`
secho $tot #这里故意写错
[root@localhost63 ~]# bash -v a.sh
# Script to show debug of shell
#
tot=`expr $1 + $2`
expr: 语法错误 #语法哪错了? 运行时没有给参数
secho $tot #这里故意写错
a.sh:行4: secho: 未找到命令
[root@localhost63 ~]# sed -i 's/secho/echo/' a.sh #修改正确后
[root@localhost63 ~]# bash -x a.sh 2 3 #查看详细执行过程。 注:这个脚本是真正执行一遍,不是预执行
++ expr 2 + 3
+ tot=5
+ echo 5
例2:查看九九乘法表shell脚本运行过程
[root@localhost63 ~]# cat 99.sh
for i in `seq 9`
do
for j in `seq $i`
do
echo -n "$i*$j= `echo $(($i*$j))` "
done
echo " "
done
root@localhost63 ~]# bash -x 99.sh