bash编程-cut、printf

1. cut

cut命令用于从行中截取字符串。

SYNOPSIS

cut OPTION... [FILE]...

** OPTION**

-d CHAR:以指定的字符为分隔符(不要用空格作为分隔符);
-f FIELDS:挑选出的字段;
    n:第n个字段;
    n-m:第n-m个字段;
    n-:第n个-最后一个字段;
    -m:第1-m个字段;
    n,m:第n和m个字段;

示例

# 查找/etc/passwd中以bash结尾的行,显示user和UID
grep "bash$" /etc/passwd | cut -d ":" -f 1,3

2. printf

printf用于格式化输出,默认不包含换行,如需换行需要加入转义换行符\n

SYNOPSIS

printf [-v var] 格式 [参数]

Options

-v var  结果输出到变量var而非标准输出

格式

%c: 显示字符的ASCII码;
%d, %i: 显示十进制整数;
%e, %E: 科学计数法数值显示;
%f:显示为浮点数;(默认显示6位小数)
%g, %G:以科学计数法或浮点形式显示数值;(默认整数位、小数位共显示6位数字)
%s:显示字符串;
%u:无符号整数;
%%: 显示%自身;

修饰符

x[.y]:x控制显示的宽度;y表示小数点后的精度;如%3.1f
-: 左对齐(默认为右对齐)
+:显示数值的符号

示例

# 格式化输出到变量
[root@VM_41_201_centos ~]# printf -v test "1234abcd"
[root@VM_41_201_centos ~]# echo $test
1234abcd
# 格式化输出
[root@VM_41_201_centos ~]# printf "%g\n" 1234567.89
1.23457e+06
[root@VM_41_201_centos ~]# printf "%e\n" 1234567.89
1.234568e+06
# 若指定的宽度不足,则以实际输出为准
[root@VM_41_201_centos ~]# printf "%5s\n" abcdefg
abcdefg
# 若指定的宽度未占满,则会显示空格
[root@VM_41_201_centos ~]# printf "*%10s*\n" abcdefg
*   abcdefg*
# 左对齐
[root@VM_41_201_centos ~]# printf "*%-10s*\n" abcdefg
*abcdefg   *
# 多个格式化组合
[root@VM_41_201_centos ~]# printf "*%s*%6.2f*\n" user1 123.456
*user1*123.46*
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,218评论 2 33
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,119评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,886评论 18 139
  • 版权声明:本文为 gfson 原创文章,转载请注明出处。注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢...
    gfson阅读 3,176评论 0 6
  • 墨色苍穹 孤星一颗 不知是太明亮而显得孤独 还是太孤独而显得明亮 他守护的是云朵 是月亮 还是你? 你又如何得知呢
    灼焰阅读 316评论 0 2