linux:剪切并比较两个文件名

时间:2015-09-04 10:29:33

标签: shell scripting

我是以下情景

有两个文件 - sample.war& sample1.48.war 现在,我只剪切第一个文件的第一个字段。即,'样本'。 [我用简单的剪切命令做了这个] 接下来,我要计算'示例'中的文字总数。并且只剪切文件2中的那些字符(sample1.48.war) 如果这两个字符匹配,那么做一些操作&如果没有,还有其他一些操作。

无论如何我们可以做到吗?

1 个答案:

答案 0 :(得分: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