2015-09-04 73 views
-1

我下面的情形Linux的:削減和比較兩個文件名

有兩個文件 - sample.war & sample1.48.war 現在,我已經僅切斷第一的第一場文件。即「樣本」。 [我用這個簡單的剪切命令做了這個] 接下來,我要計算'樣本'中的文本總數,並且只剪切文件2(sample1.48.war)中的許多字符,如果這兩個字符匹配,那麼做一些操作&如果沒有,則執行一些其他操作。

無論如何我們可以做到嗎?

+0

是的,有一種方法。 – pacholik

回答

1

試試這個

#!/usr/bin/ksh                                     

a=`echo sample.txt|sed 's/\.[^.]*$//'`                               
b=`echo sample1.48.txt|sed 's/\.[.^]*$//'`                              
echo $a $b                                      
len_a=`echo $a|wc -c`                                   
echo $len_a                                     
cut_b=`expr $len_a - 1` // As the length of a will be 1 character extra due to the new-line so you have to cut b (length of a -1)                                  
echo $cut_b                                     
sub_b=`echo $b|cut -c1-$cut_b`                                 
echo $sub_b                                     

if [ $a = $sub_b ]                                    
then                                       
echo 'string matched' $a $sub_b                                
else                                       
echo 'not matched' $a $sub_b                                 
fi 

輸出:

sh-4.3$ test.sh                                    
sample sample1.48.txt                                   

string matched sample sample 
+0

非常感謝@iamnew ...這真的幫了我很多。部分'sub_b ='echo $ b | cut -c1- $ cut_b''正是我所追求的。做得好,你會被記住:) – NewLands

+0

把它標記爲答案;) – Rajarshi