Hinzufügen von Benutzereingaben zum Ausführen des Pfads zum Sammeln von Daten

Hinzufügen von Benutzereingaben zum Ausführen des Pfads zum Sammeln von Daten

Ich versuche, die Anzahl der Zeilen in einer .list-Datei zu lesen, aber die .list-Datei befindet sich tief in einem Ordner. Meine Codes lauten wie oben:

#!/bin/sh

echo -e "Enter file location: \c"
read filename

filepath=/filebig/filemedium/filesmall/data.list
filefinalpath=$filename + $filepath

cd $filefinalpath

if [ -e "$filefinalpath" ]
then
total=$(grep -c "#" -c -v $filefinalpath)
echo -e "There are $total lines"
else
echo $filefinalpath not found
fi

meine Codes sind definitiv falsch, aber meine Idee ist, sagen wir, ein Benutzer gibt den vorderen Teil ein, er wird an die $fileaddpathCD in den endgültigen Ordner angehängt. Beispielsweise gibt der Benutzer ein project/user123/folder1. Dies wird dann kombiniert mit filepath=/filebig/filemedium/filesmall/data.listUm eine endgültige Ausgabe von zu erhalten

CDproject/user123/folder1/filebig/filemedium/filesmall/data.list

Antwort1

Sie sollten die Zeile ändern:

filefinalpath=$filename + $filepath

zu sein

filefinalpath="${filename}${filepath}"

Antwort2

Mehrere Probleme:

1) cdsteht für „change directory“ (Verzeichnis ändern) und erlaubt nur das Verschieben in ein Verzeichnis, schlägt aber bei einer Datei fehl.

OK:

cd /path/to/directory

FEHLER:

cd /path/to/directory/file.list

2) Kombinieren von Zeichenfolgen

 stringA=foo
 stringB=bar
 newstring="$oldstring""$newstring"

3) Linien zählen

Ich empfehle dringend, wchierfür Folgendes zu verwenden:

wc -l file

gibt die Anzahl der Zeilen zurück.

verwandte Informationen