Frage

Ich verwende Linux mit Gedit, das die wunderbare Angewohnheit hat, eine TEMP -Datei mit einer Tilde am Ende für jede Datei zu erstellen, die ich bearbeite.

Ich versuche, alle diese Dateien mit Folgendem auf einen anderen Ordner auf einen anderen Ordner zu verschieben:

find . -iname “*.php~” -exec mv {} /mydir \;

Es gibt mir jetzt jedoch Syntaxfehler, als würde es durch jede Datei suchen und versuchen, das Textstück zu verschieben. Ich möchte nur alle Dateien in .php ~ in ein anderes Verzeichnis verschieben. Irgendeine Idee, wie ich das mache?

Prost Ke

War es hilfreich?

Lösung

Probieren Sie diesen One-Liner aus:

for D in `find . -iname "*.php~"`; do mv ${D} /mydir; done

Wenn Sie zur zukünftigen Referenz auf die Registerkarte "Einstellungen"> "Einstellungen"> "Editor" wechseln, gibt es das Kontrollkästchen "Erstellen einer Sicherungskopie von Dateien, bevor Sie sie speichern". Dies ist der Typ, der für das Erstellen der Tilde -Version verantwortlich ist.

Andere Tipps

GNU Finden

find . -iname "*.php~" -exec mv "{}" /mydir +;

oder

for file in *.php~
do
 echo mv "$file" /mydir
done
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top