Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
07.12.2021, 13:56:34

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
  • Mitglieder insgesamt: 26126
  • Letzte: jonnybee
Statistiken
  • Beiträge insgesamt: 766526
  • Themen insgesamt: 61486
  • Heute online: 592
  • Am meisten online: 2287
  • (22.01.2020, 19:20:24)
Benutzer Online

Autor Thema: [gelöst]  mv meckert plötzlich rum  (Gelesen 376 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

[gelöst] mv meckert plötzlich rum
« am: 28.10.2021, 21:50:25 »
Guten Abend!

Ich wollte mit dem Skript erreichen, dass ffmpeg in einem Rutsch alle webp-Dateien in jpg konvertiert und erst danach alle webp löscht.

Bin absoluter Anfänger, was scripting angeht und puzzle mir alles zusammen, sozusagen Flicken-Teppich.
Es ist also bestimmt nicht die eleganteste Lösung.   :D
Eine Zeile aus dem Skript lautet folgendermaßen, sie funktiniert aber nicht mehr:

ls | grep -iE '.webp.' | xargs -t -I {} sh -c 'mv {} $(echo {} | sed -e 's/.webp//')' &&

Beim Testen hats funktioniert.
Erst heute nicht mehr.
Fehlermeldung:
         sh -c 'mv '$'\033''[0m'$'\033''[01;35mAlicante.webp.jpeg'$'\033''[0m $(echo '$'\033''[0m'$'\033''[01;35mAlicante.webp.jpeg'$'\033''[0m | sed -e s/.webp//)'
         mv: Fehlender Zieldatei‐Operand hinter ''$'\033''[0m'$'\033''[01'
         „mv --help“ liefert weitere Informationen.
         sh: 1: 35mAlicante.webp.jpeg: not found
         sh: 1: 35mAlicante.webp.jpeg: not found

Ich verstehe das nicht, diese 033 usw., das sind doch Farb-Codes oder nicht ???
Wo kommen die denn plötzlich her ???

Ich habe dann versucht:

find . -type f -name ".webp." | grep -iE '.webp.' | xargs -t -I {} sh -c 'mv {} $(echo {} | sed -e 's/.webp//')'
Da macht er nix, es kommt noch nicht mal eine Fehlermeldung !!

Stehe auf dem Schlauch, kann mir da jemand weiterhelfen ??

Vielen Dank im Voraus.

MfG
« Letzte Änderung: 29.10.2021, 09:49:23 von Chirp »

Re: mv meckert plötzlich rum
« Antwort #1 am: 29.10.2021, 00:18:40 »
ls | grep -iE '.webp.' | xargs -t -I {} sh -c 'mv {} $(echo {} | sed -e 's/.webp//')' &&Ich verstehe das nicht, diese 033 usw., das sind doch Farb-Codes oder nicht ???
Wo kommen die denn plötzlich her
Von grep ?
Probier mal:
ls | grep -iE --color=never '.webp.' | xargs -t -I {} sh -c 'mv {} $(echo {} | sed -e 's/.webp//')' &&
Und hier:
find . -type f -name ".webp." | grep -iE '.webp.' | xargs -t -I {} sh -c 'mv {} $(echo {} | sed -e 's/.webp//')'mit
find . -type f -name "*.webp.*" | xargs -t -I {} sh -c 'mv {} $(echo {} | sed -e 's/.webp//')'Ich finde, es macht wenig Sinn, mit find alle Dateien zu suchen, die .webm. im Namen haben, um daraus mit grep alle herauszusuchen, die .webm. im Namen haben.
« Letzte Änderung: 29.10.2021, 00:30:45 von MAlfare »

Re: mv meckert plötzlich rum
« Antwort #2 am: 29.10.2021, 06:11:48 »
Guten Morgen,
um ehrlich zu sein, dein 1.Zeiler war mir zu kompliziert da mochte ich mich nicht reindenken... ;)
Daher hab ich dir hier mal ein kleines Script geschrieben wie ich es umsetzen würde:
#!/bin/bash
mkdir -p webp-Dateien
for Datei in *.webp ; do
    OrgName="$Datei"
    BasName=$(basename "$Datei" .webp)
    ffmpeg -i "$OrgName" "$BasName".jpg 2> /dev/null
    if [ "$BasName" != "*" ]; then echo "Umwandlung von $OrgName nach $BasName.jpg erfolgreich";fi
    mv "$OrgName" "$PWD"/webp-Dateien 2> /dev/null || echo "Habe nichts zu tun!"
done
INFO:
- Mit "mkdir" erstellen wir eine Verzeichnis für die Originaldateien 
- In der for Zeile werden die im Verzeichnis vorhandenen *.webp der Reihe nach ausgelesen.
- Dann haben wir mit $Datei den Originalnamen und in $BasName den Namen ohne Endung
- Dann rufen wir ffmpeg mit den ermittelten Dateinamen auf und an den BasNamen hängen wir jpg an. Damit ffmpeg nicht den Bildschirm vollmüllt schicken wir die Ausgabe mit 2> /dev/null ins Nirwana
- "echo" zeigt eine netten Text
- Dann verschieben wir die Originaldatei in das Verzeichnis "webp-Dateien.
Ich persönlich würde für die Konvertierung >ImageMagick< verwenden, da ist eine Funktion >convert< dabei und damit könnte man die Zeile >ffmpg...< ersetzen:
if [ "$OrgName" != "*.webp" ]; then convert "$OrgName" "$BasName".jpg 2> /dev/null; fiViel Spaß damit...
Gruß
Wolfgang
« Letzte Änderung: 29.10.2021, 10:09:52 von Wolfgang58 »

Re: mv meckert plötzlich rum
« Antwort #3 am: 29.10.2021, 09:48:33 »
Hi Leute !



Also, das von @MAlfare vorgeschlagene grep mit --color=never
bringt die gleiche Fehlermeldung wie im 1. Post beschrieben  :( *)

Versteht das jemand ?

Aber find mit "*.webp.*" + grep weglassen
hat dann sofort funktioniert  :D

@Wolfgang58, ja das ist natürlich eine elegante Lösung,  :D super, werd ich übernehmen und mich einstudieren !!
Vielen Dank !

Wie gesagt ich bin Anfänger, da sieht man vor lauter Bäumen den Wald nicht mehr ....

Viele Grüße

 *) PS: wäre trotzdem interessant, wenn jemand wüsste, was das mit den Farb-Codes auf sich hat


Re: mv meckert plötzlich rum
« Antwort #4 am: 02.11.2021, 13:32:35 »
Hi, darf ich das Thema noch einmal raufholen ?
Ich habe was entdeckt.

Vielleicht könnte Folgendes damit zu tun haben:

Update colorize.plugin.zsh
https://github.com/ohmyzsh/ohmyzsh/pull/7875

Zitat
use -L with less to ignore LESSOPEN, otherwise if also uses pygmentize, the colorizing escape codes are exposed.


Dort haben zwei Leute so ein ähnliches Problem, besonders ganz unten runtergescrollt:
Zitat
Without -L, I get stuff like:
[38;5;241m38;5;136m#[38;5;241m39m[38;5;241m38;5;136minclude[38;5;241m39m [38;5;241m38;5;66m<stdlib>[38;5;241m39m

Immerhin: ich habe oh-my-zsh und ebenso colorize-plugin bzw. auch pygmentize installiert.

Weiss da jemand mehr ??
Kennt sich jemand mit Zsh aus ???