Also ich bin ziemlich neu mit bash
und Stack Overflow im Allgemeinen, also vergib mir, wenn ich etwas vermisse.Bash: Willst du bestimmte Anzahl von Dateien verschieben, die Leerzeichen in ein anderes Verzeichnis enthält
Ich habe versucht, ein Skript zu erstellen, das eine bestimmte Anzahl von Dateien (z. B. 3 Dateien) verschiebt, die Leerzeichen (wie) in einem anderen Verzeichnis enthalten können.
Ich habe ein paar verschiedene Möglichkeiten ausprobiert, um die Dateien mit Leerzeichen zu bekommen, aber alle haben sich als etwas schwierig erwiesen und schließlich darauf beschränkt, nur *.csv
zu verwenden. Zum Beispiel sieht der Code wie (vereinfachte):
for file in *.csv; #grab 3 files
do
echo "$file";
mv "$file" "$TDIR"
done
Ich möchte nur eine bestimmte Menge von Dateien verschieben, wie 3. $TDIR
in diesem Fall ein Zielverzeichnis zu bewegen, um sie zu.
Ich habe es so gemacht, weil ich in der Lage die gesamten Dateinamen zu greifen "Hello World.txt"
statt "Hello"
und "World.txt"
greifen.
Ich habe versucht, verschiedene Dinge mit wie:
ls -p | grep -v/| head -3
aber es gibt mir das obige Ergebnis, wo es zwei Dateien erstellt (die Räume verursachen Probleme).
Sorry, es ist irgendwie lang, aber ich habe mit diesem Problem gekämpft und würde jede Hilfe sehr zu schätzen wissen.
Sie sagen, dass Sie eine große Anzahl von Dateien haben, die '* .csv' entsprechen, aber du willst nur ein paar von ihnen bewegen? –
Verwenden Sie 'find (1)', was erlaubt, einen beliebigen Ausdruck für das, was passend sein soll, zu spezifizieren, dann benutzen Sie die '-exec mv {}" $ TDIR "\; Option – o11c
@WilliamPursell Ja, tut mir leid, dass ich nicht sehr detailliert bin. aber ich habe etwa 1000 Dateien in einem Verzeichnis und ich möchte ungefähr alle 10 Minuten ungefähr 100 verschieben. – murther