2011-02-10 5 views
1

ファイル名にスペースが含まれているファイルに対して分割を実行しようとしています。分割機能がUNIXで動作しない

私はそれが動作するように見えることはできません。

split -l 100 "\""$SOURCE_FILE"\"" 

または私はまだ取得していさえ

split -l 100 '"'$SOURCE_FILE'"' 

:だから私は、私は運と"$SOURCE_FILEを囲む試してみた今、次の

SOURCE_FILE="test file.txt" 
split -l 100 $SOURCE_FILE 

を持って

usage: split [-l line_count] [-a suffix_length] [file [name]] 
    or: split -b number[k|m] [-a suffix_length] [file [name]] 

答えて

1

あなたはあまりにも頑張っています!単一二重引用符のセットで十分であろう。

split -l 100 "$SOURCE_FILE" 

あなたは、引数は次のように見えるように分割したい:

-l 
100 
test file.txt 

あなたは両方のこれらの引数を得しようとしていたコマンド:

-l 
100 
"test 
file.txt" 

と同様に、この不正なコマンドと同じです:

split -l 100 '"test' 'file.txt"' 
+0

デュード。FML – mlevit

+0

ああ、はい、二重引用符の中に変数名を使うことができます。 –

0

"$ SOURCE_FILE"を試してみると、逃げぬ逃げの秘訣はありませんか?

ファイルを分割してみるといいでしょう。スプリットには名前にスペースが含まれているファイルに問題があるかもしれません。あるいは、スペース以外のものについて本当に怒っているかもしれません。

1

それとも、埋め込まれたスペースをエスケープするには、バックスラッシュを挿入することができます:私は、私はそれではなく、変数の実際のword`「$のSOURCE_FILEを」 `挿入するだろうと思った:(自分自身を殺すつもりです

SOURCE_FILE=test\ file.txt 
split -l 100 "$SOURCE_FILE" 
関連する問題