Bash-字符截取命令

发布时间 2023-10-04 12:16:45作者: SiNanhong

cut提取命令

cut [选项] 文件名

选项

  • -f 列号:提取第几列
  • -d 分隔符:按照指定分隔符分割列

例子:假设有xxx.txt文件,内容如下

 cut -f 2,4 xxx.txt  #提取第二列

cut -d ":" -f 1  #指定:分隔符,提取第一列

 

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

 

在awk命令的输出中,支持print和printf命令

  • print:print会在每个输出之后自动加入一个换行符(Linux默认没有print命令)
  • printf:printf是标准格式输出命令,并不会自动加入换行符,如果需要换行,需要手动加入换行符

 

awk命令

awk '条件1{动作1} 条件2{动作2}...' 文件名

条件(一般值使用关系表达式作为条件)

  • x>10  判断变量x是否大于10
  • x>=10  大于等于
  • x<=10  小于等于

动作(Action)

  •   格式化输出
  •   流程控制语句

例子:对student.txt进行截取,对磁盘数据进行截取

 

例子:BEGIN条件,在截取数据处理之前执行BEGIN后面的动作

 

例子:FS内置变量,awk默认可以识别的是\t与\n,若是其他分隔符,可以用FS解决

 

例子:END条件,awk默认可以识别的是\t与\n,若是其他分隔符,可以用FS解决

 

例子:条件关系运算符

 

sed命令