2017-06-13 1 views
0

Ich versuche, die Ausgabe von WC in eine Variable zu speichern, aber einige ProblemeSpeichern wc in eine Variable speichert die komplette Datei

  • ersten habe ich nicht

    COUNT=$(ls -1 file.log | wc -l) , weil ich den Fehler verwenden können :

    Variable Syntax.

  • Zweitens, wenn ich so etwas wie diese

    COUNT='ls -1 file.log | wc -l'

geben Sie dann i $count ich so etwas bekommen: der Inhalt der Datei

cat: Cannot open |: No such file or directory

cat: Cannot open wc: No such file or directory

cat: Cannot open -l: No such file or directory

Auch wenn ich versuche zu verwenden

COUNT='wc -l < ./file.log'

wenn i $ geben Zähle ich bekomme:

wc: cannot open < 58 ./file.log 58 total

Jede Hilfe wäre sehr dankbar für mich.

+0

Warum nicht nur 'COUNT = $ (wc -l file.log | awk '{print $ 1}')'? –

+0

Ich bekomme den Fehler: Variablensyntax. – Ram

+1

Welche Art von Shell verwenden Sie? Was ist die Ausgabe von 'ps'? – ArturFH

Antwort

0

Ich denke, Sie verwenden das falsche Zitat. Sie müssen die Backquote werden (`) (die links von der Nummer 1 in den meisten Tastaturen)

Versuchen,

count=`wc -l file.log` 
count=`ls -1 file.log | wc -l` 
echo $count 
+0

Mit dem ersten bekomme ich das: 80: Befehl nicht gefunden. mit der zweiten bekomme ich 1: Syntaxfehler in Zeile 1: '('Unerwarteter – Ram

+0

@Ram können Sie die Ausgabe der diese Befehle geben' which wc' und 'alias wc' –

+0

Und, führen Sie diese Befehle in einer Konsole aus oder sind sie Teil eines Shell-Skripts? –

Verwandte Themen