2016-09-06 35 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 
%