Функция разделения не работает в UNIX - PullRequest
1 голос
/ 10 февраля 2011

Я пытаюсь выполнить разбиение файла, в котором в имени файла есть пробелы.

Я не могу заставить его работать. Итак, у меня есть следующее

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 ]

1 голос
/ 10 февраля 2011

Или вы можете вставить обратную косую черту для выхода из встроенного пространства:

SOURCE_FILE=test\ file.txt
split -l 100 "$SOURCE_FILE"
1 голос
/ 10 февраля 2011

Ты слишком стараешься! Достаточно одного набора двойных кавычек:

split -l 100 "$SOURCE_FILE"

Вы хотите, чтобы аргументы для разделения выглядели так:

-l
100
test file.txt

Команды, которые вы пробовали обе, дают следующие аргументы:

-l
100
"test
file.txt"

Как и в случае, они эквивалентны этой неправильной команде:

split -l 100 '"test' 'file.txt"'
0 голосов
/ 10 февраля 2011

Полагаю, вы пробовали просто "$ SOURCE_FILE" без хитрых уловок?

Думаю, я бы попытался разделить файл на разделенные, возможно, разделение имеет проблемы с файлами с пробелами в названии, или, может быть, это действительно разозлило что-то, кроме пробела.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...