2016-09-06 44 views
-1

我有文件名,所以我只是想只选择一个没有( - )正则表达式的列表

6.6.482.R2 
6.6.482.R2-KAob.ios 
6.6.482.R2-Kaw.ios 
6.6.482.R2-Ksware.ios 
6.6.482.R2-KCyb.ios 
6.6.482.R2-software.blm 
6.7.142.R1 
6.7.142.R1-KAob.ios 
6.7.142.R1-Kaw.ios 
6.7.142.R1-Ksware.ios 
6.7.142.R1-KCyb.ios 
6.7.142.R1-software.blm 

我只是想只提取这两条线段

6.6.482.R2 
6.7.142.R1 

问候

+0

中的给定数据集结束,正则表达式'{\ d $}'将指示要提取的行。 –

回答

0

如果我正确理解问题,则只需要前缀。我想你的图像与

"-something" 
lsort -unique [regexp -all -inline -- {alm-[^ -]*} $data] 
0
% set x { 
alm-6.6.482.R2 
alm-6.6.482.R2-KAob.ios 
alm-6.6.482.R2-Kaw.ios 
alm-6.6.482.R2-Ksware.ios 
alm-6.6.482.R2-KCyb.ios 
alm-6.6.482.R2-software.blm 
alm-6.7.142.R1 
alm-6.7.142.R1-KAob.ios 
alm-6.7.142.R1-Kaw.ios 
alm-6.7.142.R1-Ksware.ios 
alm-6.7.142.R1-KCyb.ios 
alm-6.7.142.R1-software.blm 
} 
alm-6.6.482.R2 
alm-6.6.482.R2-KAob.ios 
alm-6.6.482.R2-Kaw.ios 
alm-6.6.482.R2-Ksware.ios 
alm-6.6.482.R2-KCyb.ios 
alm-6.6.482.R2-software.blm 
alm-6.7.142.R1 
alm-6.7.142.R1-KAob.ios 
alm-6.7.142.R1-Kaw.ios 
alm-6.7.142.R1-Ksware.ios 
alm-6.7.142.R1-KCyb.ios 
alm-6.7.142.R1-software.blm 
% lsort -unique [regsub -all -line {alm-([^ -]+).*} $x {\1}] 
6.6.482.R2 6.7.142.R1 
%