Go Back   За UNIX и Linux Форуми > Топ форуми > UNIX за манекени Въпроси & Отговори
.
Google Site



UNIX за манекени Въпроси & Отговори Ако не сте сигурни къде да публикувате UNIX или Linux въпрос, след това тук. Всички UNIX и Linux Newbies добре дошли!

Closed Thread
English Japanese Spanish French German Portuguese Italian Осъществено от Powered by Google
 
Нишка Инструменти Търсене в тази нишка Оцени резба Покажи Режими
  #1 (Permalink)  
Old 05-13-2008
Регистрирани потребители
 

Присъедини Дата: May 2008
Мнения: 3
разделение на файлове в посочения брой изходни файлове

Здравейте всички,

Имам някои големи текстови файлове, които трябва да се разделят на определен брой файлове с еднакъв размер. Доколкото знам (и аз наистина не знам, че много ) Разделянето команда само ви позволява да зададете броя на редовете или байтове. Файловете са с различна големина, така че броят на линиите се различават по добре.
Аз използвайте следния код, за да видите колко линии всеки изходния файл трябва да бъде (1 / 50 на оригиналния документ):

Y \u003d "WC | AWK '(печат $ x/50)' | AWK-F. '(ако ($ 2> \u003d 1) (печат 1 $ 1) (печат друго $ 1)) ""
ехо $ Y

Проблемът е, че не мога да използвам тази променлива $ Y като входни данни за разделянето команда така:

разделят $ х-л г-$ Y разделят / $ х

Тя просто не работи. Някой знае ли начин да се премине на стойността на променливата $ Y в разделянето команда? Или някой има по-добър начин за решаване на целия проблем?

Благодарим предварително!
Спонсорирани Връзки
  #2 (Permalink)  
Old 05-13-2008
ера era is offline Forum Advisor  
Herder на Безполезни котки (На отпуск)
 

Присъедини Дата: Mar 2008
Местоположение: / там / е / само / хамбар / SH
Мнения: 3652
Това в действителност не е ясно защо не можете да използвате променливата. Начинът, по който е сега, аз не мисля, че съдържа полезна стойност (какво прави ехо печат за вас?), но за определяне на скриптове, така че работи звучи като най-добрият план, освен ако не може да обясни защо това "просто не работи".

Ако приемем, $ х е името на файла, за да се разделят, опитайте с нещо като това, вместо.


Код:
y=`wc -l < $x | awk '{ print 1+int($1/50) }'`

Сложих в допълнение на една по теория, че това трябва да направим нещо неясно дори полезен с файлове, които са твърде малки, с леко пристрастие към превръщането на последния файл в серия по-малки от останалите. (Може би разделят с 49, вместо да се компенсира?)
  #3 (Permalink)  
Old 05-13-2008
Регистрирани потребители
 

Присъедини Дата: May 2008
Мнения: 3
Ехото ми дава номер, който's очаква да се направи.
В допълнение се използва за придаване на номерата: 231,2 става 232, но 231,0 остава 231.

Опитах го отново с $ х променлива изрично определени и след това тя работи. Така че проблемът изглежда е $ x. (Съжалявам, но не се получи много спя миналата нощ ) Това променя моя въпрос:
Ако искам да използвам моя ръкопис с оригиналния файл, като въвеждане на текст (като този: SH test.sh <file.txt), как мога да покана на оригиналния файл в сценария?
Аз очевидно смята, че $ х в "разделят $ х-л г-$ Y разделят / $ Х" се заменят с "file.txt", но това не е.

Последно редактиран от Migrainegirl; 05-13-2008 в 08:53 AM..
  #4 (Permalink)  
Old 05-13-2008
ера era is offline Forum Advisor  
Herder на Безполезни котки (На отпуск)
 

Присъедини Дата: Mar 2008
Местоположение: / там / е / само / хамбар / SH
Мнения: 3652
В позиционни параметри са в $ 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.. Причина: Добавяне поучително (?) Например
  #5 (Permalink)  
Old 05-13-2008
Регистрирани потребители
 

Присъедини Дата: May 2008
Мнения: 3
Благодаря!
Спонсорирани Връзки
Closed Thread

Маркери

Нишка Инструменти Търсене в тази нишка
Търсене в тази нишка:

Разширено търсене
Покажи Режими Оцени тази тема
Оцени тази тема:

Правила за публикуване
Ти не може да публикувате нови конци
Ти не може да публикувате отговори
Ти не може да публикувате прикачени файлове
Ти не може да редактирате вашите мнения

BB код е На
Усмивки са На
[IMG] код На
HTML код е Отдалечаване
Trackbacks са На
Pingbacks са На
Refbacks са Отдалечаване


Още 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 ч.



Всички времена са GMT -4. В момента е: 06:32 AM.


Осъществено от: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Езикови преводи Осъществено от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
За UNIX и Linux Форуми Content Copyright © 1993-2010. Всички права Reserved.Ad Управление чрез RedTyger

Съдържание съответно с URL адреси vBSEO 3.2.0