5.Linux命令
2022/3/28 7:25:16
本文主要是介绍5.Linux命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
命令太多了,简单举几个例子作为抛砖引玉,我还是没事多看看Linux 命令大全吧
目录- cut
- 语法
- Demo
- sed
- 语法
- Demo
- sort
- 语法
- Demo
- awk
- 语法
- Demo
cut
cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。
语法
cut [选项参数] filename #选项 # -f 列号,提取第几列 # -d 分隔符,按照指定分隔符分割列 #....更多命令见上最方链接
Demo
-
创建测试数据
a1 a2 a3
b1 b2 b3
c1 c2 c3
d1 d2 d3 -
shell脚本
#按空格拆分为三列,并且读取第一列 cut -d " " -f 1 text.txt # 拆分符 取拆分后第一列 #*************************************# #按空格拆分为三列,并且读取第一列 cut -d " " -f 1,2 text.txt # 拆分符 取拆分后第1,2列 #*************************************# #先查出文件中"a1"行数据,然后再按照空格切分,取第一列 cat text.txt |grep "a1" |cut -d " " -f 1
-
总结
cut还可以和cat\echo等输出命令配合使用,核心流程就是,先找一个能输出或者读取的文本,然后再用cut分,如果分割后结果还未满足,那继续用|分隔后再分...类似jdk8的Stream思想
sed
sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
语法
-
sed [选项参数] ‘command’ filename
-
选项参数
- -e 直接在指令列模式上进行sed的动作编辑。(多个下面的command才需要加,只有一个command不需要)
-
command
-
a 新增,a的后面可以接字串,在下一行出现
-
d 删除
-
s 查找并替换
....更多命令见上最方链接
-
Demo
sed "3a 333" text.txt #在第三行(3a)后面添加333 sed "2d" text.txt #删除第二行 sed "/a2/d" text.txt #删除"a2"所在行 sed "s/a1/v1/g" text.txt #将a1替换为v1,结尾加“g”,则代表全局替换 sed -e "2d" -e "s/a1/v1/g" text.txt #多个命令一起用时,则需在每个命令前添加-e
sort
语法
sort(选项)(参数)
选项 | 说明 |
---|---|
-n | 依照数值的大小排序 |
-r | 以相反的顺序来排序 |
-t | 设置排序时所用的分隔字符 |
-k | 指定需要排序的列 |
....更多命令见上最方链接
参数:指定待排序的文件列表
Demo
sort -t " " -k 1 -r text.txt # 根据" "拆分 用拆分后第一列排序 倒序
awk
语法
awk [选项参数] ‘pattern1{action1} pattern2{action2}...’ filename
pattern:表示AWK在数据中查找的内容,就是匹配模式
action:在找到匹配内容时所执行的一系列命令
选项参数
- -F 指定输入文件折分隔符
- -v 赋值一个用户定义变量
....更多命令见上最方链接
Demo
awk -F " " '/2/{print $1,$2}' text.txt # 根据" "拆分 匹配包含“2”的数据(此处可用正则),然后把匹配到的行数输出第1,2列(print $1,$2),当然此处可以做一些其他的操作 #*************************************# awk -F " " 'BEGIN{print "s s"} /2/{print $1,$2} END{print "e e"}' text.txt #BEGIN{print "s s"} 相当于给“print $1,$2”加页眉 #END{print "e e"} 相当于给“print $1,$2”加页脚 #*************************************# awk -v i=1 -F " " '{print $1+i}' text.txt #修改文件内容为 #1 2 3 #4 5 6 #7 8 9 #-v i=1 定义变量,赋值=1 #-F “ ”按空格切分 # {print $1+i} 用定义的变量与拆分出的第一列数字分别相加输出 #*************************************# awk -F "" '{print "filename:"FILENAME, "linenumber:" NR,",columns:"NF }' text.txt #FILENAME 数据来自哪个文件名 #NR 行号 #NF 一行有几列 例如:"1 2 3" 会输出5
此命令还要结合正则表达式使用
这篇关于5.Linux命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法