The UNIX and Linux Forums  
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.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Bewertung: Thread Rating: 1 votes, 5.00 average. Anzeige-Modi
  #1 (permalink)  
Old 08-26-2007
Baghera baghera is offline
Registrierte Nutzer
  
 

Join Date: Aug 2007
Beiträge: 23
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..
  #2 (permalink)  
Old 08-27-2007
ranj @ CHN ranj@chn is offline Forum Advisor  
Das Spiel mit Ubuntu Now!
  
 

Join Date: Oct 2005
Ort: Chennai
Beiträge: 365
Fügen Sie alle 'x' Element

Code:
awk -v var=4 -f sample.awk inputfile
wo ist sample.awk
Code:
(NR % var ) == 0 { sum+=$0; cnt++}
END {print sum, cnt }
Dadurch wird jeder 4'th Element der Liste.

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 }
  #3 (permalink)  
Old 08-27-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Registrierte Nutzer
  
 

Join Date: Aug 2005
Ort: Bangalore
Beiträge: 219
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
  #4 (permalink)  
Old 08-27-2007
dennis.jacob dennis.jacob is offline Forum Advisor  
DJ -------
  
 

Join Date: Feb 2007
Ort: Singapur / Bangalore / Cochin
Beiträge: 569
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
Wenn es sich um eine Datei mit einer Nummer in einer Zeile,
Gehen Sie für diese

Code:
cat filename | tr '\n' ' ' | xargs -n 3
  #5 (permalink)  
Old 08-27-2007
Baghera baghera is offline
Registrierte Nutzer
  
 

Join Date: Aug 2007
Beiträge: 23
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.
  #6 (permalink)  
Old 08-27-2007
ranj @ CHN ranj@chn is offline Forum Advisor  
Das Spiel mit Ubuntu Now!
  
 

Join Date: Oct 2005
Ort: Chennai
Beiträge: 365
nach dem Fehler

Sie nach dem Fehler und dem Unix-Rechner, dass Sie sich an - o / p
Code:
uname -a
Das könnte helfen, das Problem identifizieren. Sie müssen "nawk"Anstelle von awk auf Solaris und"gawk', Wenn die Linux.
  #7 (permalink)  
Old 08-27-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Registrierte Nutzer
  
 

Join Date: Aug 2005
Ort: Bangalore
Beiträge: 219
Zitat:
Zitat von Baghera View Post
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.
Was ist der Fehler, den Sie bekommen? seine funktioniert gut für mich. siehe unten


Zitat:
1 2 3 4
5 6 7 8
3
3 ist die (1 + 5) / 2 \u003d 3

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.
Closed Thread

Lesezeichen

Tags
Linux

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 09:00 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0