Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Awk parameter aus dem Aufrufsyntax auslesen

Frage Entwicklung Batch & Shell

Mitglied: Lucas-O

Lucas-O (Level 1) - Jetzt verbinden

09.10.2012 um 14:32 Uhr, 2606 Aufrufe, 10 Kommentare

Lösungsart egal.

Aufrufsyntax:

$ bash script1 such test1 /projects/ae/test.txt -t $1,$2

01.
  
02.
 
03.
#!/bin/bash 
04.
 
05.
suche=$2 
06.
datei=$3 
07.
filter=$4 
08.
spalte=$5 
09.
 
10.
 
11.
if [ "$filter" = "-t" ] 
12.
        then 
13.
        awk '{print $2,$3}' $datei 
14.
                
15.
# Nun möchte ich eigentlich, dass die Zahlen im “print” automatisch von dem Script aus dem  
16.
# Aufrufsyntax ausgelesen werden.                 
17.
  
18.
elif [ "$filter" = "-l" ] 
19.
        then 
20.
         cd /atix/projects/azubis/ae 
21.
        ls  $datei   
22.
         
23.
else 
24.
        egrep   "^$suche" "$datei"       
25.
         
26.
fi 
27.
 
vielen Dank schonmal
Mitglied: Lochkartenstanzer
09.10.2012, aktualisiert um 15:20 Uhr
Sei auch ungegrüßt.

Zitat von Lucas-O:
Aufrufsyntax:

$ bash script1 such test1 /projects/ae/test.txt -t $1,$2

<code>
awk '{print $2,$3}' $datei

Warum schreibst Du $2 $3 statt $suche und $datei?


  1. Nun möchte ich eigentlich, dass die Zahlen im “print” automatisch von dem Script aus dem
  2. Aufrufsyntax ausgelesen werden.

Wenn Du das noch so erklären könntest, daß jemand, der Dein Problem nicht kennt, weiß, was Du willst, könnte Dir vielleicht geholfen werden. Vermutlich mußt Du da nur \$spalte oder sowas in der Art hinschreiben, aber wir wissen ja nicht, was Du genau haben willst und was dein problem dabei ist.

lks
Bitte warten ..
Mitglied: Lucas-O
09.10.2012, aktualisiert um 15:30 Uhr
hi

1. weil es etwas anderes gemeint ist mit $1,$2 wird in dem fall die anzahl der spalten festgelegt die ausgegeben werden sollen
2 das problem nennt man glaub ich quoting...
3. ich möchte, dass die Zahlen im “print” automatisch von dem Script aus dem
Aufrufsyntax ausgelesen werden.

hoffe hilt ein wenig kanns auch nicht wirklich genauer erklären

lg
Bitte warten ..
Mitglied: Lucas-O
09.10.2012, aktualisiert um 16:48 Uhr
so hab es jetzt schon fast geschafft liest immerhin schon eine spalte die ich ihm übergebe aus)
aber jetzt muss es noch mehrere auslesen können. HELP pls!!!

Script:


01.
 
02.
#Aufrufsyntax: $ bash script1 such test1 /projects/ae/test.txt -t 1 
03.
#                                                $1      $2              $3              $4  $5  
04.
 
05.
suche=$2  
06.
datei=$3  
07.
filter=$4  
08.
spalte=$5  
09.
 
10.
 
11.
if [ "$filter" = "-t" ]  
12.
        then  
13.
        spalte=$5  
14.
        datei=$3  
15.
cat $datei | awk '{print $'$spalte'};'  
16.
                 
17.
else  
18.
        egrep   "^$suche" "$datei"       
19.
         
20.
fi  
21.
 
versuche es grad mit shift (hab noch nie damit gearbeitet)
hilfe wird gern angenommen

schönen feierabend
Bitte warten ..
Mitglied: Lochkartenstanzer
09.10.2012 um 17:08 Uhr
N'Abend

Als Tip:

probier mal

 
export a=1 =2 c=3 
 
echo x y z | gawk ' { print $3 "." $2 "." $1 "." '$`echo $a`' "." '$`echo $b`' "." '$`echo $c`' } ' 
lks
Bitte warten ..
Mitglied: Alchimedes
09.10.2012, aktualisiert um 19:35 Uhr
Hallo,

@Lukas

Du hast ein Wunderbares Buch ueber Shellscript Programmierung das solltest Du mal von Anfang bis Ende durcharbeiten.
shift verschiebt die in der Kommandozeile angegeben Argumente.

lese dazu Seite 149 ab da geht es los.

Desweiteren hat Dein script macken, also muss Du herausfinden welche.
Das kannst Du mit set -x ./Dein Script
Was sollen am Anfang $2 $3 etc ???


Umschreib doch mal die Aufgabe fuer uns genau.

Gruss
Bitte warten ..
Mitglied: Lucas-O
10.10.2012 um 06:47 Uhr
Morgen,

ich hab mir überlegt, mit shift zu arbeiten, weil man beliebig viele verschiedene spalten angeben können soll.
Nun bin ich gerade dabei, das shift mit einer while- Schleife ins script einzubinden.

@Alchimedes

1. die $1, $2 dienten mir eig. als orientierung, sie haben sich aber leider beim online stellen verschoben
2.Also ich schreibe ein Script zum suchen und variabel anpassbaren spalten ausgaben aus einnem .txt File

lg
Bitte warten ..
Mitglied: Lucas-O
10.10.2012, aktualisiert um 15:33 Uhr
so nun bin ich fast fertig.
wie kann man im script festlegen, dass wenn ich den aufrufsyntax festlege er vor jede zahl ein $ setzt?
bsp:
Aufrufsyntax:

$ bash script1 such test1 /projects/ae/test.txt -t "1 2 4"

txt file:

la li lu nur der
mann im mond schaut zu
wenn die kleinen kinder schlafen...

ergebnis:

la li nur
mann im schaut
wenn die kinder

vielen dank bis hierhin schonmal



helft mir bitte !!!
ich komme nicht weiter.
dabei muss ich "nur" noch rausfinden, fie ich im script festlegen kann, dass es for jede zahl am ende ein $ setzt...
Bitte warten ..
Mitglied: Lochkartenstanzer
10.10.2012, aktualisiert um 18:04 Uhr
Zitat von Lucas-O:
so nun bin ich fast fertig.
wie kann man im script festlegen, dass wenn ich den aufrufsyntax festlege er vor jede zahl ein $ setzt?
bsp:
Aufrufsyntax:

$ bash script1 such test1 /projects/ae/test.txt -t "1 2 4"

txt file:

la li lu nur der
mann im mond schaut zu
wenn die kleinen kinder schlafen...

ergebnis:

la li nur
mann im schaut
wenn die kinder

vielen dank bis hierhin schonmal



helft mir bitte !!!
ich komme nicht weiter.
dabei muss ich "nur" noch rausfinden, fie ich im script festlegen kann, dass es for jede zahl am ende ein $ setzt...

Hast Du

http://www.administrator.de/articles/detail.php?nid=85388&id=192478 ...

ausprobiert?

Dann sollte es sofort ins Auge springen. Die Variablen a b und c kannst Du statt direkt zu setzen natürlich auch aus Variablen füttern (oder gleich die variablen in im awk-skript benutzen).

lks

PS: Perm PM gibt es normalerweise keine kostenlosen Support. Du kannst Dich aber hier schlaumachen.
Bitte warten ..
Mitglied: Lochkartenstanzer
11.10.2012 um 09:38 Uhr
Zitat von Lucas-O:
dabei muss ich "nur" noch rausfinden, fie ich im script festlegen kann, dass es for jede zahl am ende ein $ setzt...

Und hast Du das was ich Dir geschrieben habe schon probiert. Da steht genau das drin.

lks
Bitte warten ..
Mitglied: Lucas-O
11.10.2012 um 12:03 Uhr
ja das hat gut funktioniert ich habe jetzt bloß mehrere sachen ausprobiert einmel mit deinem einmal mit awk und einmal mit cut
danke für deine hilfe
schönen tag noch
Bitte warten ..
Ähnliche Inhalte
Video & Streaming
Video Parameter auslesen
gelöst Frage von DrPsychVideo & Streaming2 Kommentare

Hi Zusammen, Ich suche eine Tool was die Video Parameter ausliest. - Parameter für mp4: Die Auflösung sollte 720 Pixel ...

Batch & Shell
Linux Erklärbär zu awk gesucht
gelöst Frage von lexa-lexaBatch & Shell5 Kommentare

Hi, warum funktioniert folgendes *nicht*: FS="/backups"; SIZE=$(df -P So (ohne $FS) gehts jedoch: SIZE=$(df -P Ich will das in ...

Batch & Shell
Text-Datei auslesen und Inhalt als Parameter übergeben
Frage von aubm2013Batch & Shell1 Kommentar

Hallo zusammen, ich möchte eine Text-Datei auslesen und die Werte an ein Makro innerhalb des Batch-Skriptes übergeben. Die auszulesende ...

PHP
PHP Adresse mit eigenen GET Parametern als GET Parameter
gelöst Frage von justanumber44PHP3 Kommentare

Hallo :D Wenn ich eine Adresse wie habe, wie schaffe ich es am besten die Adresse als Parameter zu ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 106 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless9 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...