拆分功能在UNIX中不起作用

时间:2011-02-10 05:06:29

标签: function unix split

我正在尝试在文件名中包含空格的文件上运行拆分。

我似乎无法让它发挥作用。所以我有以下

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

现在我已经尝试将$SOURCE_FILE封在"但没有运气:

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

甚至

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]]

3 个答案:

答案 0 :(得分:1)

你太努力了!一组双引号就足够了:

split -l 100 "$SOURCE_FILE"

您希望拆分的参数如下所示:

-l
100
test file.txt

您尝试的命令都会产生这些参数:

-l
100
"test
file.txt"

同样,它们等同于这个错误的命令:

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

答案 1 :(得分:1)

或者您可以插入反斜杠以逃避嵌入空间:

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

答案 2 :(得分:0)

我认为你只是尝试了“$ SOURCE_FILE”而没有花哨的逃避技巧?

我想我会尝试将文件分成两部分,也许拆分只会出现名称中带有空格的文件的问题,或者可能真的很生气而不是空间。