Function 拆分函数在UNIX中不起作用
我试图在文件名中有空格的文件上运行拆分 我似乎无法让它工作。所以我有以下几点Function 拆分函数在UNIX中不起作用,function,unix,split,Function,Unix,Split,我试图在文件名中有空格的文件上运行拆分 我似乎无法让它工作。所以我有以下几点 SOURCE_FILE="test file.txt" split -l 100 $SOURCE_FILE 现在我尝试将$SOURCE\u文件封装在“中,但运气不佳: split -l 100 "\""$SOURCE_FILE"\"" 甚至 split -l 100 '"'$SOURCE_FILE'"' 我仍然得到: usage: split [-l line_count] [-a suffix_length]
SOURCE_FILE="test file.txt"
split -l 100 $SOURCE_FILE
现在我尝试将$SOURCE\u文件
封装在“
中,但运气不佳:
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]]
你太努力了!一组双引号就足够了:
split -l 100 "$SOURCE_FILE"
您希望拆分的参数如下所示:
-l
100
test file.txt
您尝试的两个命令都会产生以下参数:
-l
100
"test
file.txt"
如中所示,它们相当于此错误命令:
split -l 100 '"test' 'file.txt"'
我想你只是尝试了“$SOURCE_FILE”而没有花哨的转义技巧
我想我应该尝试将文件划分为split,可能split只是在文件名中有空格的问题,或者它真的对空格以外的内容感到愤怒。或者您可以插入反斜杠以避开嵌入的空格:
SOURCE_FILE=test\ file.txt
split -l 100 "$SOURCE_FILE"
哥们,我要自杀了:(我想那会插入真正的单词
“$SOURCE\u FILE”
,而不是变量。FMLAh,是的,你可以在双引号内使用变量名。只是不能在单引号内。