文本格式化输出
一、输出格式化命令printf 格式替换符
选项 | 功能描述 |
---|---|
%s | 字符串 |
%f | 浮点格式 |
%c | ASCII字符,即显示对应参数的第一个字符 |
%d,%i | 十进制整数 |
%o | 八进制值 |
%u | 不带正负号的十进制值 |
%x | 十六进制值(a-f) |
%X | 十六进制值(A-F) |
%% | 表示%本身 |
选项 | 功能描述 |
---|---|
\b | 后退 |
\f | 换页 |
\n | 换行 |
\r 回车 | |
\t | 水平制表符 |
\v | 垂直制表符 |
\ | 表示\本身 |
例如:
[root@localhost usr]# cat app.json
{
"pages":[
"pages/aboutme/aboutme",
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#0ff",
"navigationBarTitleText": "第一个微信小程序"
}
}
// 重新编排文件内容
[root@localhost usr]# fmt app.json
{
"pages":[
"pages/logs/logs"x",outme",
"window":{
"navigationBarBackgroundColor":",
"navigationBarTitleText": "第一个微信小程序"
}
}
三、行标号命令nl nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号。
[root@localhost usr]# nl a.txt
1 lzp
2 is a chinese man.
3 jaskson
4 is a usa man.
四、grep命令 grep [选项] [范本样式] [文件或目录…]
例子
当前目录下查找以file前缀的文件中含有lzp的行。
[root@localhost local]# ls
android1etcfile2includeliblibexecsbinsrcafile
binfile1gamesjdklib64mysqlsharetomcat
[root@localhost local]# grep lzp file*
file1:lzp
file2:lzp
五、管道
多命令执行符 | 格式 | 作用 |
---|---|---|
; | 命令1; 命令2 | 多个命令顺序执行,命令之间没有任何逻辑联系 |
&& | 命令1&&命令2 | 逻辑与;当命令1执行正确,则命令2才会执行;当命令2执行不正确,则命令2不会执行 |
|| | 命令1 || 命令2 | 逻辑或;当命令1执行不正确,则命令2才会执行当命令2执行正确,则命令2不会执行 |
同时执行多条命令
[root@localhost ~]# date;
ls;
cd /usr;
date;
ls
Wed May8 07:49:28 PDT 2019
anaconda-ks.cfgDocumentsinstall.logMusicPublicVideos
DesktopDownloadsinstall.log.syslogPicturesTemplates
Wed May8 07:49:28 PDT 2019
binetcincludeliblibexecsbinsrc
dzqcgamesjavalib64localsharetmp
如果其中一条命名发生错误,后面的命令依旧会执行。如date1命令错误,ls命令仍旧执行。
例2:同时执行ls和echo命令
[root@localhost usr]# ls && echo 'yes'
binetcincludeliblibexecsbinsrc
dzqcgamesjavalib64localsharetmp
yes
[root@localhost usr]# ls1 && echo yes
bash: ls1: command not found
逻辑与表示命令ls和命令echo同时成功时同时或失败
实例3:ls和echo命令只执行其中一个。
[root@localhost usr]# ls || echo yes// 执行的ls,没有执行echo
binetcincludeliblibexecsbinsrc
dzqcgamesjavalib64localsharetmp
[root@localhost usr]# ls1 || echo yes// 执行echo,没有执行ls1
bash: ls1: command not found
yes
实例4:判断ls命令是否正确执行,如果正确执行打印success,不正确执行打印fail
[root@localhost usr]# date && echo success || echo fail
Wed May8 08:18:15 PDT 2019
success
[root@localhost usr]# date1 && echo success || echo fail
bash: date1: command not found
fail
实例5:判断命令的执行结果
[root@localhost usr]# date1 || echo no && echo yes
管道符 语法:
命令1 | 命令2
命令1的正确输出作为命令2的操作对象
实例1:命令ls显示/etc目录下的文件,并将结果重定向到abc.txt文件中。再用more显示。
[root@localhost etc]# ls -al>abc.txt
[root@localhost etc]# more abc.txt
上面的功能能使用一条命令吗?
[root@localhost etc]# ls /etc | more
将netstat命令的结果发到grep ,显示包含udp的行。
[root@localhost etc]# netstat -lntup | grep udp
udp00 0.0.0.0:6310.0.0.0:*1803/cupsd
udp00 0.0.0.0:680.0.0.0:*2864/dhclient
将netstat命令的结果发到grep ,显示包含udp的行的数量。
[root@localhost etc]# netstat -lntup | grep udp | wc -l
2
推荐阅读
- Linux|109 个实用 shell 脚本
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- Go|Docker后端部署详解(Go+Nginx)
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- GitHub|7 款可替代 top 命令的工具