Linux常用基本命令:三剑客命令之-awk 三元表达式
awk 3元表达式,if...else结构都可以用3元表达式改写
ghostwu@dev:~/linux/awk$ awk -v FS=":" '{ type=$3>=1000?"普通用户":"系统用户";print $1,type}' /etc/passwd
root 系统用户
daemon 系统用户
bin 系统用户
sys 系统用户
sync 系统用户
games 系统用户
man 系统用户
lp 系统用户
mail 系统用户
news 系统用户
uucp 系统用户
proxy 系统用户
www-data 系统用户
backup 系统用户
list 系统用户
irc 系统用户
gnats 系统用户
nobody 普通用户
systemd-timesync 系统用户
systemd-network 系统用户
systemd-resolve 系统用户
systemd-bus-proxy 系统用户
syslog 系统用户
_apt 系统用户
messagebus 系统用户
uuidd 系统用户
lightdm 系统用户
whoopsie 系统用户
avahi-autoipd 系统用户
avahi 系统用户
dnsmasq 系统用户
colord 系统用户
speech-dispatcher 系统用户
hplip 系统用户
kernoops 系统用户
pulse 系统用户
rtkit 系统用户
saned 系统用户
usbmux 系统用户
ghostwu 普通用户
mysql 系统用户
guest-iilhaz 系统用户
smmta 系统用户
smmsp 系统用户
统计普通用户与系统用户的个数
ghostwu@dev:~/linux/awk$ awk -v FS=":" '{$3>=1000 ? user++ : snumber++} END{print "user number:", user, "system number:", snumber}' /etc/passwd
user number: system number:
awk打印奇偶行
1、在awk中,如果省略了模式对应的动作,当前行满足模式时,默认动作为打印整行,即{print $0}
2、在awk中,0或者空字符串表示"假",非0值或者非空字符串表示"真",当模式为假,动作不会执行,当模式为真,动作会执行
ghostwu@dev:~/linux/awk$ awk 'i=!i' lines.txt
第 行
第 行
第 行
第 行
第 行
第 行
awk扫描第一行时,i变量被初始化为空值, 取反之后 变为真, 整个模式就为真,所以打印第一行, 第二行的时候,取反赋值变为假。。。。以此类推
ghostwu@dev:~/linux/awk$ awk '{i=!i;print i;}' lines.txt
再次取反,打印的就是偶数行
ghostwu@dev:~/linux/awk$ awk '!(i=!i)' lines.txt
第 行
第 行
第 行
第 行
第 行
Linux常用基本命令:三剑客命令之-awk 三元表达式的更多相关文章
- Linux常用基本命令:三剑客命令之-sed
sed是一个很强大的文件处理工具,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作 格式:sed [option] [command] [file] 常用命令: a ∶新 ...
- Linux常用基本命令(less)
转: Linux常用基本命令(less) LESS:跟more命令的功能类似,都是用于分页显示内容,但是他的性能比more更高,功能比more更丰富,他读取文件是按需加载 格式: less [opti ...
- Linux 常用基本命令及应用技巧
需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令................................................................. ...
- ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘
本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...
- Linux中使用sed命令或awk命令修改常规配置文件
一.方案: Linux中使用sed命令或awk命令修改常规配置文件 二.步骤: 1.假设有一个a.txt,内容如下: #!/bin/bash aa= bbb= ccc= #ddd= 2.如果想要把里面 ...
- Linux 常用的压缩命令有 gzip 和 zip
Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip ...
- Linux常用基本命令:三剑客命令之-awk基础用法
awk是一个超级强大的文本格式化处理工具,他与grep, sed命令被成为linux 三剑客命令 三剑客命令的特点: grep:只要用来匹配和查找文本 sed: 编辑匹配到文本 awk: 格式化文本, ...
- Linux常用的基础命令总结
man 查看英文命令帮助 可以看作--help 拷贝目录的命令cp -a 包含所有 ls -a 显示所有文件包括隐藏文件 -ld ls -F 过滤目录文件(给不同类型文件结尾加上不同的符号) ...
- LINUX常用配置及命令
一. Fedora系统配置 1. [设置网卡IP] 步骤如下: 1) 用root用户登陆,打开/etc/sysconfig/network-scripts/ifcfg-eth0文 ...
随机推荐
- ReactNative学习笔记(七)Navigator的使用
前言 Navigator主要用于ReactNative中的跳转,中文文档: http://reactnative.cn/docs/0.39/using-navigators.html 懒得打字介绍更多 ...
- 重新编译安装swoole支持OpenSSL
1.下载:wget http://pecl.php.net/get/swoole-1.9.22.tgz 2.解压:tar zxvf swoole-1.9.22.tgz 3.扩展模块:cd swoole ...
- 2019-4-22 jdbc学习笔记
jdbc 一.定义:java database connector 二.常用的接口 java.sql.Driver 驱动 java.sql.Connection 链接 java.sql.State ...
- Win32 CMD批处理命令
1. win32批处理下,另开一个console执行进程X 使用start [/K|/C],示例: //------------------------------------------------ ...
- iOS 抓包
通过tcpdump对iOS进行流量分析(无需越狱 iOS Packet Tracing 将 iOS 设备通过 USB 连接到 Mac 打开 terminal rvictl -s $UDID 运行 tc ...
- APK防护——Anti_Virtual App的思路和实现
作者:HAI_i 原文来自:https://bbs.ichunqiu.com/thread-42982-1-1.html 0×00 前言 Virtual App是一个很强大的存在,破坏了Android ...
- 90 % Java 程序员被误导的一个性能优化策略
我们经常看到一些 Java 性能优化的书或者理念,说不要在循环内定义变量,这样会占用过多的内存影响性能,而要在循环外面定义.接触 Java 这么久以来,相信很多 Java 程序员都被这种代码性能优化策 ...
- [宏]__stringify
Linux内核中有如下两个宏: #define __stringify_1(x...) #x #define __stringify(x...) __stringify_1(x) 写代码测试如下: # ...
- Jenkins 集成Sonar代码质量扫描
Jenkins上安装插件 在jenkins插件安装界面安装: 插件名 SonarQube Scanner for Jenkins Jenkins上配置 jenkins中操作:系统管理-系统设置,找到 ...
- django-pure-pagination实现分页
django-pure-paginations是一个第三方的分页插件 安装 django-pure-pagination pip install django-pure-pagination 在set ...