![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| UNIX for Dummies Questions & Answers Wenn Sie nicht sicher sind, wo Sie eine UNIX-oder Linux-Frage, post it here. Alle UNIX-und Linux-Anfänger willkommen! |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Split-Dateien mit Csplit | savitha | UNIX for Dummies Questions & Answers | 7 | 12-01-2007 11:55 AM |
| Split eine Datei in 2 Dateien | dummy_needhelp | Shell Programmierung und Scripting | 7 | 11-04-2007 07:36 PM |
| Gesamtzahl der Dateien, die "AAA" in Dateien, deren Namen die Datei _bbb * * | sudheshnaiyer | UNIX for Dummies Questions & Answers | 1 | 08-16-2007 03:34 PM |
| Split eine Datei in 2 oder mehr Dateien | bobo | UNIX for Dummies Questions & Answers | 4 | 01-16-2006 05:15 PM |
| awk Befehl, um in 2 Dateien | m_subra_mani | Shell Programmierung und Scripting | 3 | 12-13-2005 05:13 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Split-Dateien in bestimmten Anzahl von Output-Dateien
Hi everyone,
Ich habe einige große Text-Dateien, die ich benötige, um in eine bestimmte Anzahl von Dateien von gleicher Größe. Soweit ich weiß (und ich nicht wirklich wissen, dass viel ) Die Split-Befehl können Sie nur die Anzahl der Zeilen oder Bytes. Die Dateien sind alle mit einer anderen Größe, so dass die Anzahl der Zeilen unterscheiden sich auch.Ich verwende den folgenden Code, um zu sehen, wie viele Zeilen jeder Ausgabedatei sollte (1 / 50 des Originals): y \u003d "wc | awk '(print $ x/50)' | awk-F. '(if ($ 2> \u003d 1) (print $ 1 +1) else (print $ 1))' ` echo $ y Das Problem ist, dass ich nicht verwenden können, diese Variable $ y als Input für die Split-Befehl wie folgt aus: Split $ x-d-l $ y Split / $ x Es einfach nicht funktioniert. Kennt jemand eine Möglichkeit, den Wert der Variable $ y in den Split-Befehl? Oder hat jemand einen besseren Weg zur Lösung des Problems? Vielen Dank im Voraus! |
|
||||
|
Es ist nicht wirklich klar, warum können Sie nicht die Variable. Die Art und Weise ist es nun, ich glaube nicht, dass es mit einem nützlichen Wert (was die echo Druck für Sie?), aber zur Festsetzung der Skripte, so klingt es wie das beste, es sei denn, Sie können erklären, warum es "einfach nicht funktioniert".
Der Annahme, dass $ x ist der Name der Datei, die Sie über die Aufteilung, versuchen Sie so etwas wie diese statt. Code:
y=`wc -l < $x | awk '{ print 1+int($1/50) }'`
|
|
||||
|
Das Echo ist mir eine Nummer zugeteilt, die es zu tun.
Der Zusatz wird verwendet, um rund um die Zahlen: 231,2 zu 232, sondern 231,0 Aufenthalte 231. Ich habe versucht es wieder mit der Variable $ x explizit definiert und dann funktioniert es. Das Problem scheint zu $ x. (sorry, ich habe nicht viel Schlaf letzte Nacht ) Diese Änderungen meine Frage:Wenn ich möchte meine Skript mit dem ursprünglichen Text-Datei als Eingabe (wie diesem: sh test.sh <file.txt), wie kann ich appelliere an die Original-Datei im Skript? Ich dachte natürlich, dass die $ x in "Split-$ x-d-l $ y Split / $ x 'ersetzt werden mit" file.txt ", aber es ist nicht. Zuletzt bearbeitet von Migrainegirl; am 05-13-2008 08:53 AM.. |
|
||||
|
Die Parameter werden in $ 1 $ 2 $ 3 usw., aber wenn Sie sich auf das Skript mit Umleitung, gibt es keine positional Parameter, und keine Datei-Namen, nur den Standard-Input.
Code:
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 Zuletzt bearbeitet von ERA; 05-13-2008 auf 09:02 AM.. Grund: erleuchtenden hinzufügen (?) Beispiel |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|