Hallo Forum,
das Kommando
find . -mindepth 2 -type f -exec file '{}' \; | grep AS
liefert mir Ausgabe:
...
./nueko/zahlen: ASCII text
./datver/inhalt: ASCII text
./privat/dat1: ASCII text
...
Nun möchte ich alle Dateien vom Type ASCII in ein gemeinsames Verzeichnis kopieren.
Leider komme ich jetzt nicht mehr richtig weiter.
Bin ich hier auf dem richtigen Weg mit find und grep?
Wie muss ich das Kommando ändern/ergänzen damit ich zum gewünschte Ziel komme?
Danke für Tips
Karlheinz
ERLEDIGT: find, grep etc
ERLEDIGT: find, grep etc
Zuletzt geändert von rennpferd am 26.02.2014 16:02:52, insgesamt 1-mal geändert.
Re: find, grep etc
Ungetestet:
Code: Alles auswählen
find . -mindepth 2 -type f -exec file '{}' \; | grep -l AS | xargs -I{} cp "{}" /verzeichnis/wo/es/hin/soll
Re: find, grep etc
Eher so, getestet mit ca. 200 Dateien aus 100 Ordnern. Scheinbar Probleme mit Dateien mit Leerzeichen.
Etwas lang geworden. Kann doch bestimmt jemand kürzen, oder? Auch bitte das Leerzeichen-Problem beheben. Danke.
Code: Alles auswählen
for i in $(find . -mindepth 2 -type f |xargs -i file '{}' |awk -F":" '$2 ~ /ASCII/ {print $1}');do cp $i /verzeichnis/wo/es/hin/soll;done
Re: find, grep etc
Danke für den Tip, dieses Kommando liefert aber leider nur FehlermeldungenLiffi hat geschrieben:Ungetestet:Code: Alles auswählen
find . -mindepth 2 -type f -exec file '{}' \; | grep -l AS | xargs -I{} cp "{}" /verzeichnis/wo/es/hin/soll
mfg
Karlheinz
Zuletzt geändert von rennpferd am 26.02.2014 15:59:58, insgesamt 1-mal geändert.
Re: find, grep etc
Das klappt bestens. Dankeuname hat geschrieben:Eher so, getestet mit ca. 200 Dateien aus 100 Ordnern. Scheinbar Probleme mit Dateien mit Leerzeichen.Code: Alles auswählen
for i in $(find . -mindepth 2 -type f |xargs -i file '{}' |awk -F":" '$2 ~ /ASCII/ {print $1}');do cp $i /verzeichnis/wo/es/hin/soll;done
mfg
Karlheinz