{$2=$2" e f g";}
[Mb18@login Work_qx]$ echo 'a b c d' | awk '{$2=$2" e f g";print}'
a b e f g c d
$2会重建$0, 默认 OFS=" "
[Mb18@login Work_qx]$ echo 'a b c d' | awk '{$2=$2;print}'
a b c d
[Mb18@login TESTA01]$ cat test1.txt
aaaa bbbb ccc
dd ff ggg
ddd fff eee gg hh jj jj
[Mb18@login TESTA01]$ awk '{$2=$2;print}' test1.txt
aaaa bbbb ccc
dd ff ggg
ddd fff eee gg hh jj jj
OFS = "\t"
[Mb18@login TESTA01]$ awk 'BEGIN{OFS = "\t"} {$1=$1;print}' test1.txt
aaaa bbbb ccc
dd ff ggg
ddd fff eee gg hh jj jj
从ifconfig命令的结果中筛选出lo网卡的所有IPv4地址
ifconfig[Mb18@login TESTA01]$ ifconfig
ens2f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.10.10.41 netmask 255.255.0.0 broadcast 10.10.255.255
inet6 fe80::ea61:1fff:fe21:c9d8 prefixlen 64 scopeid 0x20<link>
ether e8:61:1f:21:c9:d8 txqueuelen 1000 (Ethernet)
RX packets 962102443 bytes 188205391048 (175.2 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 903676777 bytes 86806163792 (80.8 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xc5000000-c57fffff
ens2f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.201 netmask 255.255.252.0 broadcast 192.168.3.255
inet6 fe80::ea61:1fff:fe21:c9d9 prefixlen 64 scopeid 0x20<link>
ether e8:61:1f:21:c9:d9 txqueuelen 1000 (Ethernet)
RX packets 14030133704 bytes 15282171947551 (13.8 TiB)
RX errors 0 dropped 28663 overruns 764 frame 0
TX packets 28089382895 bytes 39695929075318 (36.1 TiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xc4800000-c4ffffff
ib0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 2044
inet 12.12.12.41 netmask 255.255.255.0 broadcast 12.12.12.255
inet6 fe80::526b:4b03:3a:8c5c prefixlen 64 scopeid 0x20<link>
infiniband 20:00:00:67:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00 txqueuelen 256 (InfiniBand)
RX packets 28984646487 bytes 57171279777901 (51.9 TiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14558790557 bytes 26489320986891 (24.0 TiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 212338469 bytes 111843472616 (104.1 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 212338469 bytes 111843472616 (104.1 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[Mb18@login TESTA01]$ ifconfig | awk '/inet /'
inet 10.10.10.41 netmask 255.255.0.0 broadcast 10.10.255.255
inet 192.168.1.201 netmask 255.255.252.0 broadcast 192.168.3.255
inet 12.12.12.41 netmask 255.255.255.0 broadcast 12.12.12.255
inet 127.0.0.1 netmask 255.0.0.0
[Mb18@login TESTA01]$ ifconfig | awk '/inet / && !($2~ /^127/)'
inet 10.10.10.41 netmask 255.255.0.0 broadcast 10.10.255.255
inet 192.168.1.201 netmask 255.255.252.0 broadcast 192.168.3.255
inet 12.12.12.41 netmask 255.255.255.0 broadcast 12.12.12.255
[Mb18@login TESTA01]$ ifconfig | awk '/inet / && !($2~ /^127/) {print $2}'
Infiniband hardware address can be incorrect! Please read BUGS section in ifconfig(8).
10.10.10.41
192.168.1.201
12.12.12.41
RS
RS="": 按段落读取RS="\0": 一次性读取所有数据,但是有些特殊文件可能会包含空字符\0
RS="^$": 真正地一次性读取所有数据,可以过滤掉空文件RS="\n+": 按行读取,但是忽略所有空行ifconfig输出内容的第一个段落每个段落保存在$0中。
[Mb18@login TESTA01]$ ifconfig | awk 'BEGIN{RS = ""} NR==1 {print}'
ens2f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.10.10.41 netmask 255.255.0.0 broadcast 10.10.255.255
inet6 fe80::ea61:1fff:fe21:c9d8 prefixlen 64 scopeid 0x20<link>
ether e8:61:1f:21:c9:d8 txqueuelen 1000 (Ethernet)
RX packets 962144533 bytes 188213637436 (175.2 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 903722507 bytes 86810472621 (80.8 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xc5000000-c57fffff
[Mb18@login TESTA01]$ ifconfig | awk 'BEGIN{RS = ""} NR==1 {print $6}'
10.10.10.41
lo网卡的其他所有网卡的IPv4地址[Mb18@login TESTA01]$ ifconfig | awk 'BEGIN{RS = ""} !/^lo:/ {print $6}'
10.10.10.41
192.168.1.201
12.12.12.41
FS="\n", 获取第2行[Mb18@login TESTA01]$ ifconfig | awk 'BEGIN{RS = ""; FS = "\n"} !/^lo:/ {print $2}'
inet 10.10.10.41 netmask 255.255.0.0 broadcast 10.10.255.255
inet 192.168.1.201 netmask 255.255.252.0 broadcast 192.168.3.255
inet 12.12.12.41 netmask 255.255.255.0 broadcast 12.12.12.255
FS=" ",换回来,并更新[Mb18@login TESTA01]$ ifconfig | awk 'BEGIN{RS = ""; FS = "\n"} !/^lo:/ {$0 = $2; FS = " "; $0 = $0; print $2}'
10.10.10.41
test.ini[Mb18@login TESTA01]$ cat test.ini
[mysqld]
#设置3306端口号
port=3306
#设置MySQL的安装目录
basedir=D:\\mysql\\mysql-8.0.16-winx64(这是我的MySQL路径,注意用\\而非\)
#设置MySQL数据库的数据存放目录
datadir=D:\\mysql\\mysql-8.0.16-winx64\\data(与上面同理,注意最后的data文件名保存不变)
#运行最大连接数
max_connections=200
#运行连接失败的次数。这也是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
#服务端使用的字符集默认为utf-8
character-set-server=utf8
[mysql]
#客户端使用的字符集默认为utf8
default-character-set=utf8
[client]
#客户端默认端口号为3306
port=3306
搜索[mysql]整段内容
getline 返回值
>0: 表示已经读取到数据
=0: 表示遇到结尾EOF,没有读取到内容
<0: 表示读取错误
1.awk
index ($0, "[mysql]"){
print
while ( (getline var) >0 ){
if (var ~ /\[*\]/){
exit
}
print var
}
}
1.awk脚本[Mb18@login TESTA01]$ awk -f 1.awk test.ini
[mysql]
#客户端使用的字符集默认为utf8
default-character-set=utf8
uid = XXX重复的行test.txt
2019-01-13_12:00_index?uid=123
2019-01-13_13:00_index?uid=123
2019-01-13_14:00_index?uid=333
2019-01-13_15:00_index?uid=9710
2019-01-14_12:00_index?uid=123
2019-01-14_13:00_index?uid=123
2019-01-15_15:00_index?uid=333
2019-01-16_15:00_index?uid=9710
uid=xxx去重-F "?" 指定分割符为"?",进行字段划分,uid=xxx为$2[Mb18@login TESTA01]$ awk -F "?" '{arr[$2]=arr[$2]+1; if (arr[$2]==1) {print}}' test.txt
2019-01-13_12:00_index?uid=123
2019-01-13_14:00_index?uid=333
2019-01-13_15:00_index?uid=9710
[Mb18@login TESTA01]$ awk -F "?" '{arr[$2]++; if (arr[$2]==1) {print}}' test.txt
2019-01-13_12:00_index?uid=123
2019-01-13_14:00_index?uid=333
2019-01-13_15:00_index?uid=9710
arr++ 先返回值,再自增,所以第一次出现的时候会先返回0,再+1[Mb18@login TESTA01]$ awk -F "?" '!arr[$2]++ {print}' test.txt
2019-01-13_12:00_index?uid=123
2019-01-13_14:00_index?uid=333
2019-01-13_15:00_index?uid=9710
print
[Mb18@login TESTA01]$ awk -F "?" '!arr[$2]++' test.txt
2019-01-13_12:00_index?uid=123
2019-01-13_14:00_index?uid=333
2019-01-13_15:00_index?uid=9710
test.txt
portmapper
portmapper
portmapper
portmapper
portmapper
portmapper
status
status
mountd
mountd
mountd
mountd
mountd
mountd
nfs
nfs
nfs_acl
nfs
nfs
nfs_acl
nlockmgr
nlockmgr
nlockmgr
nlockmgr
nlockmgr
[Mb18@login TESTA01]$ awk '{arr[$0]++} END {for (i in arr) {print i, arr[i]}}' test.txt
nfs 4
status 2
nlockmgr 5
portmapper 6
nfs_acl 2
mountd 6
netstart -tnap
[Mb18@login TESTA01]$ netstat -tnap
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:6059 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6027 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6060 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6028 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6061 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6029 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6062 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6030 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:48750 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:46830 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6063 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6031 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6032 0.0.0.0:* LISTEN -
[Mb18@login TESTA01]$ netstat -tnap | awk '{arr[$6]++} END {for (i in arr) {print arr[i], i}}'
153 LISTEN
134 ESTABLISHED
1 established)
1 Foreign
14 TIME_WAIT
[Mb18@login TESTA01]$ netstat -tnap | awk '/^tcp/ {arr[$6]++} END {for (i in arr) {print arr[i], i}}'
153 LISTEN
134 ESTABLISHED
42 TIME_WAIT
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
有点边缘情况,但知道为什么&&=会这样吗?我正在使用1.9.2。obj=Object.newobj.instance_eval{@bar&&=@bar}#=>nil,expectedobj.instance_variables#=>[],soobjhasno@barinstancevariableobj.instance_eval{@bar=@bar&&@bar}#ostensiblythesameas@bar&&=@barobj.instance_variables#=>[:@bar]#whywouldthisversioninitialize@bar?为了比较,||=将实例变量初始
一般来说哪个更好用?:casenwhen'foo'result='bar'when'peanutbutter'result='jelly'when'stack'result='overflow'returnresult或map={'foo'=>'bar','peanutbutter'=>'jelly','stack'=>'overflow'}returnmap[n]更具体地说,什么时候应该使用案例陈述,什么时候应该只使用散列? 最佳答案 散列是一种数据结构,而case语句是一种控制结构。当你只是检索一些数据时,你应该使用散列(就像你
有没有办法在case语句的对象上隐式调用方法?即:classFoodefbar1enddefbaz...endend我希望能够做的是这样的事情......foo=Foo.newcasefoowhen.bar==1then"something"when.bar==2then"somethingelse"when.baz==3then"anotherthing"end...其中“when”语句正在评估case对象上方法的返回。这样的结构可能吗?如果是的话,我还没有弄清楚语法...... 最佳答案 FWIW,您根本不需要将对象传递给1.8
BigData/CloudComputing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程目录一、云计算网站建设:部署与发布网站建设:简单动态网站搭建云服务器管理维护云数据库管理与数据迁移云存储:对象存储管理与安全超大流量网站的负载均衡二、大数据MOOC网站日志分析搭建企业级数据分析平台基于LBS的热点店铺搜索基于机器学习PAI实现精细化营销基于机器学习的客户流失预警分析使用DataV制作实时销售数据可视化大屏使用MaxCompute进行数据质量核查使用Quick BI制作图形化报表使用时间序列分解模型预测商品销量三、云安全云平台使用安全云上服务
我是RubyonRails的新手。在Rails应用程序中,我看到了如下代码:在模型中,有一个类Car:classCar在controller中,有一个方法“some_method”classCarsController我有三个问题要问:1.在Controller的代码中@my_car.components,它有什么作用?什么是什么意思?2.“3.是否Car类必须显式定义has_many关联Componentclassif""isused或者是""可用于向Car添加新关联,即使关联未在Car中定义显式类? 最佳答案 编辑后:第1点@m
本篇博文目录:一.SpringSecurity简介1.SpringSecurity2.SpringSecurity相关概念二.认证和授权1.认证(1)使用SpringSecurity进行简单的认证(SpringBoot项目中)(2)SpringSecurity的原理(3)SpringSecurity核心类(4)认证登入案例(JWT+SpringSecurity实现登入案例)2.授权(1)加入权限到Authentication中(2)SecurityConfig配置文件中开启注解权限配置(3)给接口中的方法添加访问权限(4)用户权限表的建立3.自定义失败处理(1)创建异常处理类(2)配置移除处理
我正在开发rubyonrails应用程序。对于sessionController,我想用一个案例来检查用户的帐户是否被锁定或禁止。我正在尝试使用类的对象作为案例,并使用when来检查属性。例如,user=Profile.find(1)caseuserwhenuser.banredirect_to()whenuser.lockredirect_to()elseredirect_to()end唯一的问题是它不起作用。这是什么工作:caseuser.banwhentrueredirect_to()elseredirect_to()end关于如何使用开关检查用户对象是否被禁止或锁定,有什么
关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion您成功使用过Sinatra吗?这是一个什么样的项目?在什么情况下您会推荐使用Sinatra而不是Rails或Merb?
我有一个sql查询:SELECTfield1,field2,CASEWHENfield1=1THEN'a'ELSE'b'ENDASfield3FROMtest我想用sequelizejs实现它,constparams={attributes://DOSELECTCASE,};yieldModel.findAll(params);谁能帮帮我?谢谢。 最佳答案 对于仍在寻找这个答案的人Model.findAll({attributes:[[models.sequelize.literal('CASEWHEN"field1"=trueTH