Linux截取文件名的后几位,Linux字符串截取和处理命令 cut、printf、awk、sed、sort、wc...
1. cut [选项] 文件名
-f 列号 #提取第几列(分隔符默认为\t)
-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 消除屏幕
\n 换行
\r 回撤
\t 水平制表符
\v 垂直制表符
举例:
printf '%s %s %s\n' 1 2 3 4 5 6 #表示每三个位一组输出,并加换行符
printf '%s\t%s\t%s\t' $(cat a.txt) #表示以4列的形式输出
3. awk '条件1{动作1}条件2{动作2}...' 文件名
awk '{printf $2 "\t" $6 "\n"}' 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 只统计字符数
Linux截取文件名的后几位,Linux字符串截取和处理命令 cut、printf、awk、sed、sort、wc...相关推荐
- 截取字符串后几位 php,字符串截取的几种办法(php,js,css三种)
可能没什么含量,求少拍砖. 首先是PHP版本的. 其实只用mb_strimwidth一个函数就可以了,该函数的说明如下: mb_strimwidth - 获取按指定宽度截断的字符串 string mb ...
- c#截取字符串后几位_C#字符串截取
几个经常用到的: 1.取字符串的前i个字符 (1)string str1=str.Substring(0,i); (2)string str1=str.Remove(i,str.Length-i); ...
- AMD Duron安装redhat linux 6.2成功后无法进入linux的解决办法(转)
AMD Duron安装redhat linux 6.2成功后无法进入linux的解决办法(转)[@more@]现在我已经解决了(AMD Duron 650 上运行redhat linux 6.2)第一 ...
- AMD Duron安装redhat linux 6.2成功后无法进入linux的解决办法
07 Jun 2001 12:00 am AMD Duron安装redhat linux 6.2成功后无法进入linux的解决办法 <script type="text/javascr ...
- linux改完权限后 自动恢复,linux文件或目录权限修改后如何恢复(备份了权限就能恢复)...
操作系统 RHEL5 如果你在linux上执行了如下操作 chmod -R 777 / 或者 chmod -R 700 / 那么恭喜你,你的系统即将崩溃,重启之后,你进不了图形界面,而且很多服务都起不 ...
- sql timestep 秒数后6位_excel中,如何截取身份证号后6位?前4位?或者中间8位?...
excel中,如何提(截)取两个特定字符之间所有字符? 截取字符串常用函数:left函数,right函数和mid函数 left函数语法:left(text,num_chars),从左侧开始截取部分字符 ...
- js 截取字符串后几位,字符串反转
function getStr(str){ //截取后8位 //return str.match(/.*(.{8})/)[1] ; //截取后2位 return str.match(/.*(.{2}) ...
- linux笔记:安装程序后,使用时显示找不到命令(command not found)
在linux中,用各种工具下载安装程序后,使用时显示找不到命令(command not found)解决方法 其实这个问题与在windows安装程序后,在命令行下使用不了是一个原因:没有配置环境变量 ...
- linux改文件名接口,笔者为您linux修改文件名【搞定思路】
有些用户发现linux修改文件名[搞定思路]的问题,不知道是怎么回事,如今还有很多用户不知道如何处理linux修改文件名[搞定思路]的情况,因此我就在电脑上汇集整顿出linux修改文件名[搞定思路]的 ...
最新文章
- 树状数组求逆序对_初识树状数组
- BZOJ 1251: 序列终结者( splay )
- 通过界面生成时不存在的数据刷新界面引起的卡顿问题
- 论文浅尝 | 在生成式多跳机器阅读任务中引入外部常识知识
- OpenCV Using Python——基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 (光流、场景流)...
- ModuleNotFoundError: No module named ‘pycocotools‘
- 评分模型的监控报表汇总
- 英特尔曾遭“经验老道”的黑客攻击
- GPS从入门到放弃(十六)、卫星时钟误差和卫星星历误差
- 骑士cms火车头发布模块-骑士cms火车头采集规则免费
- 论文理解记录:The Lottery Ticket Hypothesis
- 天齐锂业通过聆讯:将实现“A+H”两地上市,募资主要用来还债
- GYM 101350 I. Mirrored String II
- 医疗器械软件网络安全相关
- 吐槽智能手机上那些不爽的事
- 网络安全红队详细接收
- 从事嵌入式行业年薪有多少,你和高薪究竟差了哪些东西?
- 使用脚本更新阿里云DNS记录
- 如何让家里的电脑,外网也能访问
- Hexo 博客优化之博客美化系列(持续更新)
热门文章
- HTML5的可视化开发工具Maqetta Designer
- C# 将PowerPoint文件转换成PDF文件
- 架构解密:从分布式到微服务
- JavaWeb学习总结(十二)——Session
- Flex与.NET互操作(三):基于WebService的数据访问(下)
- 利用WebService实现远程服务器文件的上传和下载
- SQL 日期格式 问题
- django2.2 配置urls(亲测)
- Docker与虚拟机
- linux ubuntu安装教程6,64位Ubuntu下安装IE6步骤