Linux字符串截取和处理命令 cut、printf、awk、sed、sort、wc 1. cut [选项] 文件名 -f 列号 #提取第几列(分隔符默认为 ) -d 分隔符 #指定分隔符 例如:cut -f 2 a.txt #截取文件a.txt内容的第二列(列号从1开始) cut -f 2,4 a.txt #截取文件a.txt内容的第二列和第四列 cut -d “:” -f 1,3 /etc/passwd #截取文件passwd文件的第1列和第三列,以:分割取其中的第一列和第三列 2. printf ‘输出类型 输出格式’ 输出内容 输出类型: %ns 输出字符串,n是数字,指代输出几个字符 %ni 输出整数。n是数字,指代输出几个数字 %m.nf 位数和小数位数。例如:%8.2f 代表输出8位数,其中2位是小数,6位是整数 输出格式: a 输出警告声音 b 输出退格键,也就是BackSpace键 f 消除屏幕 换行 回撤 水平制表符 v 垂直制表符 举例: printf ‘%s %s %s ’ 1 2 3 4 5 6 #表示每三个位一组输出,并加换行符 printf ‘%s %s %s ‘ $(cat a.txt) #表示以4列的形式输出 3. awk ‘条件1{动作1}条件2{动作2}…’ 文件名 awk ‘{printf $2 ” ” $6 ” ”}’ a.txt #输出文件a.txt的第二列和第6列 4. sed [选项] ‘[动作]’ 文件名 #说明:动作必须用引号引起来 选项: -n 一般sed命令会把所有数据都输出到屏幕。如果加入此选择,则只会把经过sed命令处理的行输出到屏幕。 -e 允许对输入数据应用多条sed命令编辑 -i 用sed的修改结果直接修改读取的数据的文件,而不是修改屏幕输出 动作: a 追加,在当前行后添加一行或多行。添加多行时除最后一行外,每行末尾需要用””代表数据未完结。 c 行替换,用c后面的字符替换原数据行,替换多行时除最后一行外,每行末尾需要用””代表数据未完结。 i 插入,在当前插入一行或多行,插入多行时,除最后一行外每行末尾需用””代表数据未完结。 d 删除,删除指定的行 p 打印,输出指定的行 s 字符串替换,用一个字符串替换另外一个字符串。格式为”行范围 s/旧字符串/新字符串/g” sed可以接收管道符的输出结果 举例: sed ‘2p’ a.txt #输出第2行后,又把所有内容输出一遍 sed -n ‘2p’ a.txt #只输出第二行 sed ‘2,4d’ a.txt #删除第2到4行,只删除屏幕输出,不会更改文件本身的内容 sed ‘2a hello’ a.txt #在第二行插入一行 hello sed ‘2i hello’ word’ a.txt #在第二行前插入多行 hello 一行 word一行 sed ‘2c no person’ a.txt #用no person 替换第二行 sed ‘4s/99/55/g’ a.txt #把第4行的99替换为55 sed -i ‘4s/99/55/g’ a.txt #把第4行的99替换为55,修改的是原文件而不是屏幕输出 sed -i ‘s/99/55/g’ a.txt #s前不加行号时表示替换整个文件中匹配的字符串 sed -e ‘s/Liming//g;s/Gao//g’ a.txt #-e表示允许多个条件执行,把Liming替换为空,把Gao替换为空 5. sort [选项] 文件名 #排序 选项: -f 忽略大小写 -n 以数值型进行排序,默认使用字符串型排序 -r 反向排序 -t 指定分隔符,默认分隔符是制表符 -k n[,m] 按照指定的字段范围排序。从第n字段开始,m字段结束(默认到行尾) 6. wc [选项] 文件名 #统计 选项: -l 只统计行数 -w 只统计单词数 -m 只统计字符数
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/74389.html