![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| du aus der Liste mit der Liste des gesamten | Movomito | Shell Programmierung und Scripting | 3 | 05-04-2008 09:33 PM |
| Liste der unübertroffene Spalten | mohan705 | Shell Programmierung und Scripting | 3 | 12-12-2007 10:37 AM |
| Zeile Spalten | vskr72 | UNIX for Dummies Questions & Answers | 4 | 03-21-2007 09:53 AM |
| , wie man eine zufällige Liste von einer Liste | mskcc | Shell Programmierung und Scripting | 3 | 05-30-2006 03:30 AM |
| Vergleicht man einen eigenen Wert in 1 Liste mit einer anderen Liste | manualvin | Shell Programmierung und Scripting | 6 | 06-22-2004 06:42 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread |
Bewertung:
|
Anzeige-Modi |
|
|
|
||||
|
Liste, um Spalten und awk Hilfe
Hi ich bin neu in diesem Forum, und ich bin ein Anfänger, wenn es um die Shell-Programmierung und awk Programmierung. Aber ich habe folgendes Problem:
Ich habe eine Liste wie folgt aus: 1 2 3 4 5 6 7 8 Entweder aus einer Datei oder Ausgabe von einem Befehl. Was ich möchte ist, dass man diese Werte in Spalten mit x-Werte in jeder Spalte wie folgt aus: 1 2 3 4 5 6 7 8 Wo x gibt an, wie viele Spalten ich möchte. Dann möchte ich hinzufügen, die Werte aus Spalte 1 und teilen Sie es mit der Anzahl der Zeilen (in diesem Fall 2). etwas vergessen: dies ist für ein Bourne-Shell-Skript. Ist es möglich, eine Variable x als Input bei der Ausführung des Skripts? Oder ist es möglich, anstelle von Säulen, um alle x Element in der Liste, und dann im Durchschnitt? Zuletzt bearbeitet von Baghera; am 08-26-2007 01:09 PM.. |
|
||||
|
Fügen Sie alle 'x' Element
Code:
awk -v var=4 -f sample.awk inputfile Code:
(NR % var ) == 0 { sum+=$0; cnt++}
END {print sum, cnt }
Wenn Sie möchten, dass die Zählung ab der ersten Spalte in der Liste, ändern Sie die sample.awk zu Code:
BEGIN { row_cnt=1 }
(NR % row_cnt ) == 0 { sum+=$0; cnt++; row_cnt+=var }
END {print sum, cnt }
|
|
||||
|
Versuchen Sie folgendes:
Code:
awk -v INPUT=$INPUT '
BEGIN { ORS=""}
{
print $0 " "
if (( NR % INPUT ) == 0) {
print "\n"
count++
}
if (( NR % INPUT ) == 1)
sum += $0
}
END {
op = sum/count
print op }' Filename
|
|
||||
|
cat file | xargs-n <Anzahl der Elemente in einem row>
Code:
"/home/tdreader" > cat t.txt 1 2 3 4 5 6 7 8 9 12 12 32 5 66 56 343 8 875 434 0 "/home/tdreader" > cat t.txt | xargs -n 3 1 2 3 4 5 6 7 8 9 12 12 32 5 66 56 343 8 875 434 0 Gehen Sie für diese Code:
cat filename | tr '\n' ' ' | xargs -n 3 |
|
||||
|
I really appreciate the help.
Ich mag die xargs Sache. Ist es dann möglich, jedes Element in einer Spalte und teilen sie durch die Anzahl der Elemente in der Spalte. Ich habe diesen Befehl: awk '(Summe + \u003d $ 1 / 2) (sum1 + \u003d $ 2 / 2) END (print Summe sum1)' Aber $ 1 / 2, wo die 2 sollte eine Variable (die Anzahl der Elemente in der Spalte). Auch ranj @ CHN habe ich nicht bekommen Ihr Skript zu arbeiten, ich muss etwas falsch. Ich habe gerade kopiert, was man geschrieben hat und versucht, um es mit: awk-v var \u003d 2-f reader2.awk testfile.txt Aber ich nur Fehler. Und ich auch versucht, um ahmedwaseem2000-Programm, aber ich habe nicht, dass die Arbeit entweder. Ich wirklich leid, aber ich bin ein echter "Noob" zu setzen. Aber die Hilfe, die Sie mir geben, sind von unschätzbarem Wert. |
|
||||
|
nach dem Fehler
Sie nach dem Fehler und dem Unix-Rechner, dass Sie sich an - o / p
Code:
uname -a |
|
||||
|
Zitat:
Zitat:
Sie müssen den Wert der "INPUT" Variable, bevor Sie den Code sonst wird es Ihnen die "Division durch Null in Modul" wie laufen INPUT \u003d 4, bevor Sie den Code. |
![]() |
| Lesezeichen |
| Tags |
| Linux |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|