Nou script
Afegit `count.sh`, un *script* de suport que demana un caràcter i compte el número de cops que apareix aquest caràcter en el nom dels fitxers existents a la ruta d'execució. Útil per a depurar els fitxers abans d'executar `mass-diz.sh`.
This commit is contained in:
parent
a950181498
commit
cb401e1ca2
|
|
@ -30,7 +30,7 @@ En qualsevol d'aquests casos, l'esforç és molt superior al benefici i, en el m
|
|||
|
||||
## Solució
|
||||
|
||||
He desenvolupat `mass-diz.sh`, un *script* en `bash` que ha de donar resposta a aquesta necessitat, com a eina de suport pròpia i de qualsevol altre `SysOp`.
|
||||
He desenvolupat `mass-diz.sh`[^1], un *script* en `bash` que ha de donar resposta a aquesta necessitat, com a eina de suport pròpia i de qualsevol altre `SysOp`.
|
||||
|
||||
`mass-diz.sh` empaqueta en un `ZIP` els diferents elements i els annexes necessàris, incloent-hi el `FILE_ID.DIZ` associat que es genera durant l'execució.
|
||||
|
||||
|
|
@ -50,8 +50,8 @@ P.ex. `Daredevil Born Again - Season 1 - Chapter 2 - 1080p - 2025.mkv`
|
|||
|
||||
|
||||
- **Variables Inicials**: L'*script* parteix d'un conjunt de variables fixes, que s'inicialitzen durant la seva execució:
|
||||
- `DISCLAIMER`: El nom del fitxer[^1] informatiu de descàrrec quan l'element és un contingut sensible.
|
||||
- `DEMO`: El nom del fitxer [^1] que fa les funciones de publicitat/promoció de `EOTB`.
|
||||
- `DISCLAIMER`: El nom del fitxer[^2] informatiu de descàrrec quan l'element és un contingut sensible.
|
||||
- `DEMO`: El nom del fitxer [^2] que fa les funciones de publicitat/promoció de `EOTB`.
|
||||
- `SEPARATOR`: El caràcter o conjunt de caràcters que identifiquen els diferents camps de la descripció de l'element.
|
||||
- `FILE_ID`: S'alimenta automàticament durant l'execució de l'*script*.
|
||||
- `ZIPFILE`: El nom base que tindrà el fitxer `ZIP` resultant.
|
||||
|
|
@ -90,4 +90,5 @@ En el `path` on s'executa:
|
|||
|
||||
`<EOF>`
|
||||
|
||||
[^1]: El fitxer ha d'estar present a la ruta on s'executi l'*script*.
|
||||
[^1]: He creat un `count.sh`, un *script* de suport que demana un caràcter i compte el número de cops que apareix aquest caràcter en el nom dels fitxers existents a la ruta d'execució. Útil per a depurar els fitxers abans d'executir `mass-diz.sh`.
|
||||
[^2]: El fitxer ha d'estar present a la ruta on s'executi l'*script*.
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 1. Preguntar a l'usuari por la cadena a comptar i emmagatzemar-la
|
||||
echo -n "Introdueix el caràcter o conjunt de caràcters a cercar: "
|
||||
read CADENA
|
||||
|
||||
# 2. Validar que la cadena no estigui buida
|
||||
if [ -z "$CADENA" ]; then
|
||||
echo "Error: No s'ha informat cap cadena."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "" # Afegeix un salt de línia per claretat
|
||||
echo "Cercant ocurrències de '$CADENA' en els noms de fitxer:"
|
||||
echo "---------------------------------------------------------"
|
||||
|
||||
# 3. Iterar sobre tots els elements del directori actual
|
||||
for file in *; do
|
||||
|
||||
# 4. Comprovar que l'element és un fitxer (i no un directori)
|
||||
if [ -f "$file" ]; then
|
||||
|
||||
# 5. Comptar les ocurrències de CADENA en el nom del fitxer
|
||||
# - echo "$file": Passa el *nom* del fitxer (la cadena) a grep.
|
||||
# - grep -F: Cerca la CADENA com una cadena de text literal (fixed string),
|
||||
# no com una expressió regular.
|
||||
# - grep -o: Imprimeix només la part coincident, cada una a una línia nova.
|
||||
# - wc -l: Compta el número total de línies, que equival al número d'ocurrències.
|
||||
count=$(echo "$file" | grep -F -o "$CADENA" | wc -l)
|
||||
|
||||
# 6. Imprimeix el nom del fitxer i el recompte
|
||||
echo "$file: $count"
|
||||
fi
|
||||
done
|
||||
Loading…
Reference in New Issue