![]() |
![]() |
|
|
|||||||
| Linux, UNIX, Open Source Rat & Tat bei Problemen und Fragen rund um GNU/Linux, BSD und sonstige UNIXe |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
|
|
#1 |
|
Elite
![]() |
Hello,
ich hab grad ein dämliches problem gehabt, jemand hat files mit blank an ende auf einen Ftp geladen. ls -1 text* zeigt mir files an test.txt test2.txt schön, aber ls -1 text und tabulator gedrückt zeigt mir text.txt\ ein blank im filenamen ich hab 2 lösungen for i in `ls -1 text*`; do mv "$i " `echo "$i" |sed 's/*[ ]//g'`; done oder ls -1 *.txt\ | while read -r FILE do mv -v $FILE\ `echo $FILE | tr -d '\ '` done Wie hättet ihr es gemacht ??? Verbesserungen willkommen ciao CM²S
____________________________________
\"wann amoi de blaun denen grean an rodn dewich ausroin, daunn siach i schwoaz\" Gedicht aus \"Eigfleischte Wegetaria und aundare meakwürdikeiten, Andreas Nastl http://lichtschwarz.tv |
|
|
|
|
|
#2 |
|
Elite
![]() |
leider können einige ftp cliensts damit nicht umgehen ... ;-(
____________________________________
\"wann amoi de blaun denen grean an rodn dewich ausroin, daunn siach i schwoaz\" Gedicht aus \"Eigfleischte Wegetaria und aundare meakwürdikeiten, Andreas Nastl http://lichtschwarz.tv |
|
|
|
|
|
#3 |
|
Inventar
![]() Registriert seit: 23.03.2000
Ort: Graz
Alter: 71
Beiträge: 3.567
|
Schaut sehr nach einer komplizierten Fremdsprache aus!
![]() In einer Windows-Shell würde ich eine Schleife über alle Dateinamen laufen lassen und jeden Dateinamen durch Trim$(Dateiname) ersetzen versuchen (zumindest sinngemäß). ![]()
____________________________________
Ciao |
|
|
|
|
|
#4 |
|
Master
![]() Registriert seit: 24.02.2002
Ort: Wien
Alter: 40
Beiträge: 611
|
Alles grauslich bis falsch, weil man den Output von `ls` in Shellscripts nicht parsed.
Am ehesten wohl noch so: Code:
for f in ./*;
do
mv -i "$f" "$(printf "%s" "${f}" \
| sed -r 's/[[:blank:]]+$//')";
done
Ich hab vor einiger Zeit mal ein Python-Script zusammengeschmissen, um solche (und aehnliche) Problemfaelle schnell loesen zu koennen, das Ergebnis ist sanitize.py. Demo-Run: Code:
colo@zealot:/tmp/spacedemo$ touch file "file " "file " "file " "someotherfile " colo@zealot:/tmp/spacedemo$ echo * | xxd 0000000: 6669 6c65 2066 696c 6520 2066 696c 6520 file file file 0000010: 2020 6669 6c65 2020 2020 2020 2020 2020 file 0000020: 2020 736f 6d65 6f74 6865 7266 696c 6520 someotherfile 0000030: 2020 2020 2020 0a . colo@zealot:/tmp/spacedemo$ sanitize -v --subst="" ./* ./file -> ./file.1 ./file -> ./file.1.1 ./file -> ./file.1.1.1 ./someotherfile -> ./someotherfile 4 of 5 files renamed. colo@zealot:/tmp/spacedemo$ echo * | xxd 0000000: 6669 6c65 2066 696c 652e 3120 6669 6c65 file file.1 file 0000010: 2e31 2e31 2066 696c 652e 312e 312e 3120 .1.1 file.1.1.1 0000020: 736f 6d65 6f74 6865 7266 696c 650a someotherfile.
____________________________________
Free Software. Free Society. Better Lives. |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|