2017-08-01 4 views
-2

私の要件は単純です 私は、行の中に提供されるパスのリストを持つファイルを持っています。は、指定されたパスにスペースがないことを検証するunixスクリプトが必要です

Egが:/var/ www/

どのように私はこの検証を実現することができます。

/etc/home 
/var/www/ 

は、私のようなパスの間にはスペース文字がないことを確認するためのコマンドがありますか?

+3

'grep '' file'? – Cyrus

+3

これは実際にはスペースが空いているパスが正しく動作することを確認するよりも良い仕事ですか? –

答えて

0

これは役に立ちます。これは、内部フィールドセパレータを使用します。

#!/bin/sh 
if [ ! $1 ]; then 
     echo Filename parameter expected 
     exit 
fi 
export IFS=$'\n' 
for i in `cat $1` 
do 
if [ `echo $i | grep ' ' ` ]; then 
     echo Spaces found in [$i] 
else 
     echo No spaces found in [$i] 
fi 
done 
+0

は魅力的です。ありがとう。 IFSについてもっと教えていただけますか? – Prateek

+0

あなたは確かにインターネット上でUnix IFSを探すことができます。デフォルトでは、 "スペース"がフィールドセパレータとして使用されます。そして、フィールドセパレータとして "改行"、 "eol"、 "\ n"を使うように微調整しました。したがって、 "eol"文字が見つかるまで文字列を1つのフィールドとして扱います。 – asatsi

関連する問題