|
|
|
|
Google Site
|
|||||||
| Форуми | Регистрация | Блог | Човекът Страници | Форум Правила | Връзки | Албуми | Често задавани въпроси | Потребители | Календар | Търся | Днешната Постове | Марк Форуми Прочети |
| UNIX за манекени Въпроси & Отговори Ако не сте сигурни къде да публикувате UNIX или Linux въпрос, след това тук. Всички UNIX и Linux Newbies добре дошли! |
![]() |
|
|
Нишка Инструменти | Търсене в тази нишка | Оцени резба | Покажи Режими |
|
|||
|
разделение на файлове в посочения брой изходни файлове
Здравейте всички,
Имам някои големи текстови файлове, които трябва да се разделят на определен брой файлове с еднакъв размер. Доколкото знам (и аз наистина не знам, че много ) Разделянето команда само ви позволява да зададете броя на редовете или байтове. Файловете са с различна големина, така че броят на линиите се различават по добре.Аз използвайте следния код, за да видите колко линии всеки изходния файл трябва да бъде (1 / 50 на оригиналния документ): Y \u003d "WC | AWK '(печат $ x/50)' | AWK-F. '(ако ($ 2> \u003d 1) (печат 1 $ 1) (печат друго $ 1)) "" ехо $ Y Проблемът е, че не мога да използвам тази променлива $ Y като входни данни за разделянето команда така: разделят $ х-л г-$ Y разделят / $ х Тя просто не работи. Някой знае ли начин да се премине на стойността на променливата $ Y в разделянето команда? Или някой има по-добър начин за решаване на целия проблем? Благодарим предварително! |
| Спонсорирани Връзки |
|
|
|
|||
|
Това в действителност не е ясно защо не можете да използвате променливата. Начинът, по който е сега, аз не мисля, че съдържа полезна стойност (какво прави ехо печат за вас?), но за определяне на скриптове, така че работи звучи като най-добрият план, освен ако не може да обясни защо това "просто не работи".
Ако приемем, $ х е името на файла, за да се разделят, опитайте с нещо като това, вместо. Код:
y=`wc -l < $x | awk '{ print 1+int($1/50) }'`
Сложих в допълнение на една по теория, че това трябва да направим нещо неясно дори полезен с файлове, които са твърде малки, с леко пристрастие към превръщането на последния файл в серия по-малки от останалите. (Може би разделят с 49, вместо да се компенсира?) |
|
|||
|
Ехото ми дава номер, който's очаква да се направи.
В допълнение се използва за придаване на номерата: 231,2 става 232, но 231,0 остава 231. Опитах го отново с $ х променлива изрично определени и след това тя работи. Така че проблемът изглежда е $ x. (Съжалявам, но не се получи много спя миналата нощ ) Това променя моя въпрос:Ако искам да използвам моя ръкопис с оригиналния файл, като въвеждане на текст (като този: SH test.sh <file.txt), как мога да покана на оригиналния файл в сценария? Аз очевидно смята, че $ х в "разделят $ х-л г-$ Y разделят / $ Х" се заменят с "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.. Причина: Добавяне поучително (?) Например |
|
|||
|
Благодаря!
|
| Спонсорирани Връзки |
|
|
![]() |
| Маркери |
| Нишка Инструменти | Търсене в тази нишка |
| Покажи Режими | Оцени тази тема |
|
|
Още UNIX и Linux Форум Теми Можете да намерим Полезни
|
||||
| Нишка | Нишка Начално | Форум | Отговори | Последно мнение |
| Разделяне на файлове, използвайки Csplit | savitha | UNIX за манекени Въпроси & Отговори | 7 | 12-01-2007 11:55 AM |
| Разделяне на файл в 2 Файлове | dummy_needhelp | Shell Програмиране и скриптове | 7 | 11-04-2007 07:36 ч. |
| Общият брой на файловете, които са "ААА" във файл, чиито имена са на файла _bbb * * | sudheshnaiyer | UNIX за манекени Въпроси & Отговори | 1 | 08-16-2007 03:34 ч. |
| Разделяне на файл на 2 или повече файлове | Bobo | UNIX за манекени Въпроси & Отговори | 4 | 01-16-2006 05:15 ч. |
| awk команда, за да разделят в 2 файлове | m_subra_mani | Shell Програмиране и скриптове | 3 | 12-13-2005 05:13 ч. |