如何合并这3个命令
[senz_sims_db:/home/sims] awk -F, '$2=="AMWPF" && $4=="RRH[0_11_0]/SFP[0]" {print $0}' data/20230706/IM_HW_20230706.csv
eNB_618378,AMWPF,RRHSFP,RRH[0_11_0]/SFP[0],SFP,N/A,RTXM228-601 ,N/A,WTD ,HN211300012948 ,2021-03-26,N/A,N/A,N/A,ENB[618378]/SHELF[0]/SLOT[1]/PORT[11]/CASC[0]/CPRI_PORT[0],N/A,-,wavelength=TX:1310(nm)/RX:-(nm)
[senz_sims_db:/home/sims]
[senz_sims_db:/home/sims]
[senz_sims_db:/home/sims]
[senz_sims_db:/home/sims]
[senz_sims_db:/home/sims]
[senz_sims_db:/home/sims] awk -F, '$2=="AMWPF" && $4=="RRH[0_10_0]/SFP[0]" {print $0}' data/20230706/IM_HW_20230706.csv
eNB_618378,AMWPF,RRHSFP,RRH[0_10_0]/SFP[0],SFP,N/A,RTXM228-601 ,N/A,WTD ,HN211300012955 ,2021-03-26,N/A,N/A,N/A,ENB[618378]/SHELF[0]/SLOT[1]/PORT[10]/CASC[0]/CPRI_PORT[0],N/A,-,wavelength=TX:1310(nm)/RX:-(nm)
[senz_sims_db:/home/sims]
[senz_sims_db:/home/sims]
[senz_sims_db:/home/sims]
[senz_sims_db:/home/sims]
[senz_sims_db:/home/sims] awk -F, '$2=="AMWPF" && $4=="RRH[0_9_0]/SFP[0]" {print $0}' data/20230706/IM_HW_20230706.csv
eNB_618378,AMWPF,RRHSFP,RRH[0_9_0]/SFP[0],SFP,N/A,RTXM228-601 ,N/A,WTD ,HN211200053451 ,2021-03-19,N/A,N/A,N/A,ENB[618378]/SHELF[0]/SLOT[1]/PORT[9]/CASC[0]/CPRI_PORT[0],N/A,-,wavelength=TX:1310(nm)/RX:-(nm)
字符串
转换为1个regex命令,例如比如
xxx RRH[0_[9][10][11]_0]/SFP[0]
xxx
eNB_618378,AMWPF,RRHSFP,RRH[0_11_0]/SFP[0],SFP,N/A,RTXM228-601 ,N/A,WTD ,HN211300012948 ,2021-03-26,N/A,N/A,N/A,ENB[618378]/SHELF[0]/SLOT[1]/PORT[11]/CASC[0]/CPRI_PORT[0],N/A,-,wavelength=TX:1310(nm)/RX:-(nm)
eNB_618378,AMWPF,RRHSFP,RRH[0_10_0]/SFP[0],SFP,N/A,RTXM228-601 ,N/A,WTD ,HN211300012955 ,2021-03-26,N/A,N/A,N/A,ENB[618378]/SHELF[0]/SLOT[1]/PORT[10]/CASC[0]/CPRI_PORT[0],N/A,-,wavelength=TX:1310(nm)/RX:-(nm)
eNB_618378,AMWPF,RRHSFP,RRH[0_9_0]/SFP[0],SFP,N/A,RTXM228-601 ,N/A,WTD ,HN211200053451 ,2021-03-19,N/A,N/A,N/A,ENB[618378]/SHELF[0]/SLOT[1]/PORT[9]/CASC[0]/CPRI_PORT[0],N/A,-,wavelength=TX:1310(nm)/RX:-(nm)
型
编辑-基于下面的答案,第一个不起作用,第二个起作用
>awk -F, '$2=="AMWPF" && $4~"^RRH\[0_(9|10|11)_0]/SFP\[0]$" {print $0}' data/20230706/IM_HW_20230706.csv
awk: cmd. line:1: warning: escape sequence `\[' treated as plain `['
>awk -F, '$2=="AMWPF" && $4 ~ /^RRH\[0_(9|10|11)_0]\/SFP\[0]$/ {print $0}' data/20230706/IM_HW_20230706.csv
eNB_618378,AMWPF,RRHSFP,RRH[0_9_0]/SFP[0],SFP,N/A,RTXM228-601 ,N/A,WTD ,HN211200053451 ,2021-03-19,N/A,N/A,N/A,ENB[618378]/SHELF[0]/SLOT[1]/PORT[9]/CASC[0]/CPRI_PORT[0],N/A,-,wavelength=TX:1310(nm)/RX:-(nm)
eNB_618378,AMWPF,RRHSFP,RRH[0_10_0]/SFP[0],SFP,N/A,RTXM228-601 ,N/A,WTD ,HN211300012955 ,2021-03-26,N/A,N/A,N/A,ENB[618378]/SHELF[0]/SLOT[1]/PORT[10]/CASC[0]/CPRI_PORT[0],N/A,-,wavelength=TX:1310(nm)/RX:-(nm)
eNB_618378,AMWPF,RRHSFP,RRH[0_11_0]/SFP[0],SFP,N/A,RTXM228-601 ,N/A,WTD ,HN211300012948 ,2021-03-26,N/A,N/A,N/A,ENB[618378]/SHELF[0]/SLOT[1]/PORT[11]/CASC[0]/CPRI_PORT[0],N/A,-,wavelength=TX:1310(nm)/RX:-(nm)
型
3条答案
按热度按时间pvabu6sv1#
这两种方法都可以工作:
字符串
有关两个分隔符
/
与"
之间的区别,请参见https://www.gnu.org/software/gawk/manual/gawk.html#Computed-Regexps。如果您愿意,也可以使用
(9|1[01])
代替(9|10|11)
。wqsoz72f2#
您可以利用捕获组来提供可能的匹配。
需要注意的是,
[
和]
字符是语法的一部分,因此我使用的不是转义值,而是.
,这是通配符。字符串
不过,你也可以用,
型
这里是 AWK 文档,概述了正则表达式的使用。
xdyibdwo3#
字符串样式:
字符串
或正则表达式样式
型