shell中字符串截取命令:cut,printf,awk,sed

您所在的位置:网站首页 shell中截取字符串前4位 shell中字符串截取命令:cut,printf,awk,sed

shell中字符串截取命令:cut,printf,awk,sed

2024-07-13 00:40| 来源: 网络整理| 查看: 265

cut cut 命令不能在分割符是空格的字符串中截取列,只能是 制表符 或 具体的分割符。 选项 -b :仅显示行中指定直接范围的内容; -c :仅显示行中指定范围的字符; -d :指定字段的分隔符,默认的字段分隔符为"TAB"; -f :显示指定字段的内容; -n :与"-b"选项连用,不分割多字节字符; --complement :补足被选择的字节、字符或字段; --out-delimiter= :指定输出内容是的字段分割符; --help :显示指令的帮助信息; --version :显示指令的版本信息。 使用 -d :分隔符 ( --delimiter 按照指定分隔符分割列 ) -b : 表示字节 -c : 表示字符 -f : 表示字段(列号) ( --field 提取第几列 ) N- : 从第N个字节、字符、字段到结尾 N-M : 从第N个字节、字符、字段到第M个 -M : 从第一个字节、字符、字段到第M个 $> cat user.txt 01, zhang, M, 18 02, wang, M, 20 03, li, M, 21 # 以","分隔,显示第二列 $> cut -d "," -f 2 user.txt zhang wang li # 以","分隔,显示第1列和第3列 $> cut -d "," -f 1,3 user.txt 01, M, 02, M, 03, M, # 以","分隔,显示第1-3列 $> cut -d "," -f 1-3 user.txt 01, zhang, M, 02, wang, M, 03, li, M, # 以","分隔,显示除第1列以外的其他列 $> cut -d "," -f 1 --complement user.txt zhang, M, 18 wang, M, 20 li, M, 21 ## 注意前面是有空格的! ###### 字符串 $> cut -c1-5 user.txt 01, zh 02, wa 03, li printf printf '输出类型输出格式' 内容 输出类型:

- %ns: 输出字符串。n是数字,指输出几个字符   - %ni: 输出整数。n是数字,指输出几个数字   - %m.nf: 输出浮点数。m和n是数字,分别指输出的整数位数和小数位数。如%8.2f代表共输出8位数,其中2是小数,6是整数。

输出格式:

- \a : 输出警告声音   - \b : 输出退格键,也就是Backspace键   - \f : 清除屏幕   - \n : 换行   - \r : 回车,也就是Enter键   - \t : 水平输出退格键,也就是Tab键   - \v : 垂直输出退格键,也就是Tab键

printf %s 1 2 3 4 5 6 # 把123456当成一个字符串输出,没有格式 printf %s %s %s 1 2 3 4 5 6 # 把%s%s123456当做字符串输出,没有格式 printf '%s ' 1 2 3 4 5 6 # 把1 2 3 4 5 6当做字符串输出,输出格式为空格 printf '%s\n' 1 2 3 4 5 6 # 输出格式为1个一行 printf '%s %s %s' 1 2 3 4 5 6 # 把内容当做字符串三个为一组输出,1 2 34 5 6 printf '%s %s %s\n' 1 2 3 4 5 6 # 输出格式为3个一行 printf '%s' $(cat user.txt) # 输出文本内容为字符串 printf '%s\t %s\t %s\t %s\n' $(cat user.txt)  # 把文本内容格式化输出 建议 man printf 查看可用的输出格式,和C的 printf 格式一样。 awk 命令

awk '条件1{动作1} 条件2{动作2} ...' 文件名 ( 如果条件1,执行动作1;如果条件2,执行动作2 )

条件(pattern):一般使用关系表达式作为条件 x > 10 : 判断变量x是否大于10 x >= 10 : 大于等于 x


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3