![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!! |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Сплит-файлов с помощью Csplit | savitha | UNIX для чайников Вопросы И Ответы | 7 | 12-01-2007 11:55 AM |
| Разделить файл на 2 файлов | dummy_needhelp | Shell программирование и сценарии | 7 | 11-04-2007 07:36 PM |
| Общее количество файлов, которые "ААА" в файлы, чьи имена файлов _bbb * * | sudheshnaiyer | UNIX для чайников Вопросы И Ответы | 1 | 08-16-2007 03:34 PM |
| Разделить файл на 2 или более файлов | Бобо | UNIX для чайников Вопросы И Ответы | 4 | 01-16-2006 05:15 PM |
| AWK команду разделить на 2 файлов | m_subra_mani | Shell программирование и сценарии | 3 | 12-13-2005 05:13 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
разбить на файлы заданного количества выходных файлов
Привет всем,
У меня есть большие текстовые файлы, которые нужно разделить на определенное количество файлов равного размера. Насколько я знаю (и я не знаю, что многое ) Разделенной команды только позволяет указать число строк или байт. Эти файлы являются все разных размеров, так что количество строк отличаются, как хорошо.Я использую следующий код, чтобы узнать, сколько строк каждый выходной файл должен быть (1 / 50 от первоначального документа): Y \u003d `акв | AWK '($ печати x/50)' | AWK-F. '(если ($ 2> \u003d 1) ($ печати 1 +1) (печатать еще $ 1))' ` Эхо $ Y Проблема заключается в том, что я не могу использовать эту переменную $ Y в качестве вклада в разделить команду так: сплит $ X-D-L $ Y сплит / $ X Он просто не работает. Кто-нибудь знает способ передать значение из переменной $ Y раскол в команде? Или же кто есть лучший способ решить все проблемы? Спасибо заранее! |
|
||||
|
Это не совсем понятно, почему вы не можете использовать переменную. Как это сейчас, я не думаю, что он содержит полезную ценность (что делает эхо Версия для печати для вас?), но фиксация сценарии так оно работает звучит как самый лучший план, если вы не можете объяснить, почему она "просто не работают".
Если предположить, что $ X является имя файла, который Вы собираетесь разделить, попробуйте что-нибудь, как это вместо. Код:
y=`wc -l < $x | awk '{ print 1+int($1/50) }'`
|
|
||||
|
В эхо дает мне номер, который он должен делать.
В дополнение используется для кого номера: 231,2 становится 232, а 231.0 остается 231. Я попробовал еще раз с $ X переменная четко определены, а затем он работал. Так что проблема, как представляется, $ X. (извините, я не получил много спать прошлой ночью ) Это изменяет мой вопрос:Если я хочу использовать мой сценарий с первоначальным текстом, как входной файл (например: SH test.sh <file.txt), как мне слово в исходном файле внутри скрипта? Я думал, очевидно, что $ X в "раскол $ X-D-L $ Y сплит / $ X" будет заменено на 'file.txt', но это не так. Последний раз редактировалось Migrainegirl; на 05-13-2008 08:53 AM.. |
|
||||
|
В позиционных параметров в $ 1 $ 2 $ 3 и т.д., но если ссылаться на скрипт с перенаправлением, нет позиционных параметров, а не имя файла, просто стандартный ввод.
Код:
vnix$ ./myscript file.txt oops # inside myscript, $1 is "file.txt" and $2 is "oops" vnix$ ./myscript # inside myscript, no file name is known; input is from standard input (terminal) vnix$ ./myscript <file.txt # again, inside myscript, no file name is known; input is redirected to come from file.txt Последний раз редактировалось эры; на 05-13-2008 09:02 AM.. Основание: Добавить информативные (?) Пример |
|
||||
|
Спасибо!
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|