2012-09-24 43 views
1

我有一個問題,我無法完成此腳本。這是有效的腳本的一部分。這也是一個linux bash腳本。使用循環在每個詞前後添加3個星號

echo -n "Please enter file " 
read file 
if [ -f $file ] 
then 
     echo "$file found." 
else 
     echo "$file not found." 
fi 

前,每個字寫後使用「for」循環,打印3星號(*)的文件的每一個字的腳本。該腳本應提示用戶輸入文件名,並且必須驗證文件是否存在以及該文件是否爲常規文本文件。
提示:使用cat,read和file命令以及if語句與您的for循環一起使用。

+0

可能重複[如何重複幾個字符幾次在bash?](http://stackoverflow.com/questions/3423791/how-to-repeat-a-few-characters-a-few-times-in-bash) – l0b0

回答

1

你可以使用這個腳本:

echo -n "Please enter file " 
read file 
if [ -f $file ] 
then 
     echo "$file found." 
     if [[ $(file -b $file) == 'ASCII text' ]] 
     then 
     for word in $(cat $file) 
      do echo "***$word***" 
     done 
     else 
     echo "$file is not a regular text file" 
     fi 
else 
     echo "$file not found." 
fi 

與該輸入文件:

word1 word2 
word3 

這個劇本給:

Please enter file test.inp 
test.inp found. 
***word1*** 
***word2*** 
***word3*** 
相關問題