Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Bash script probleempje  (gelezen 205 keer)

Offline BaukeP

  • Lid
  • Steunpunt: Nee
Bash script probleempje
« Gepost op: 2018/11/23, 16:29:35 »
Hallo forumleden,
Ik probeer het volgende werkend te krijgen: (een functie in .bashrc)

renfunc() {
ext=${1:-"*.[mMkKvV]"}
zoek=${2:-"e\."}
vervang=${3:-"0"}
for f in $ext; do rename 's/$($zoek)/$($vervang)/' * ; done
}

Het is de bedoeling dat het eerste argument de extensie is en indien niet gegeven dan moet worden gezocht naar .mkv. De zoek-string is het tweede argument etc.
Het is of alle drie meegeven of niets .... kan misschien ook nog anders.. TIPS?

Maar ik krijg de volgende fouten:
Global symbol "$zoek" requires explicit package name (did you forget to declare "my $zoek"?) at (user-supplied code).
Global symbol "$vervang" requires explicit package name (did you forget to declare "my $vervang"?) at (user-supplied code).

De laatste regel klopt dus iets niet. Maar wat?

Alvast bedankt voor de hulp

Bauke
« Laatst bewerkt op: 2018/11/24, 15:46:33 door BaukeP »

Offline vanadium

  • Lid
  • Steunpunt: Nee
Re: Bash script probleempje
« Reactie #1 Gepost op: 2018/11/23, 16:42:11 »
's/$($zoek)/$($vervang)/' -> "s/$zoek/$vervang/"?

Offline Bloom

  • Lid
  • Steunpunt: Ja
Re: Bash script probleempje
« Reactie #2 Gepost op: 2018/11/23, 17:18:17 »
Voor de duidelijkheid: als je Bash variabelen binnen een tekst geïnterpreteerd wil zien, moet je dubbele aanhalingstekens gebruiken. Gebruik je enkele aanhalingen, dan wordt alles letterlijk overgenomen en wordt er niets geïnterpreteerd.

Offline BaukeP

  • Lid
  • Steunpunt: Nee
Re: Bash script probleempje
« Reactie #3 Gepost op: 2018/11/23, 20:35:13 »
Mijne heren,

Dat was 'm. Bedankt

Bauke

Offline BaukeP

  • Lid
  • Steunpunt: Nee
Re: Bash script probleempje
« Reactie #4 Gepost op: 2018/11/24, 15:45:32 »
Hallo forumleden,
Ik probeer het volgende werkend te krijgen: (een functie in .bashrc)

renfunc() {
ext=${1:-"*.[mMkKvV]"}
zoek=${2:-"e\."}
vervang=${3:-"0"}
for f in $ext; do rename 's/$($zoek)/$($vervang)/' * ; done
}

Het is de bedoeling dat het eerste argument de extensie is en indien niet gegeven dan moet worden gezocht naar .mkv. De zoek-string is het tweede argument etc.
Het is of alle drie meegeven of niets .... kan misschien ook nog anders.. TIPS?

Maar ik krijg de volgende fouten:
Global symbol "$zoek" requires explicit package name (did you forget to declare "my $zoek"?) at (user-supplied code).
Global symbol "$vervang" requires explicit package name (did you forget to declare "my $vervang"?) at (user-supplied code).

De laatste regel klopt dus iets niet. Maar wat?

Alvast bedankt voor de hulp

Bauke

Offline pederoco

  • Lid
  • Steunpunt: Nee
Re: Bash script probleempje
« Reactie #5 Gepost op: 2018/11/27, 06:24:09 »
's/$($zoek)/$($vervang)/' -> "s/$zoek/$vervang/"?
mvg,  Peter
Desktop: xubuntu 16.04.5
Laptop: xubuntu 16.04.5 minimal 
"No windows in the house but somehow there's more light..."