waarom? omdat het niet standaard control-c control-v werkt?quote:Op zaterdag 10 juni 2006 11:38 schreef slakkie het volgende:
[..]
Hahahaom deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
Vi gebruikers zijn erg gestoord.
Idd een eindelozen discussie, ik gebruik nano. Waarom? Het is simpel en doeltreffend. Maar voor de rest moet iedereen lekker zelf weten welke editor hij gebruikt, kan me echt geen hol boeien eigenlijk. Als het werkt voor jou dan moet je dat lekker gebruiken.quote:Op zaterdag 10 juni 2006 21:45 schreef dop het volgende:
eindeloze discusie
kleine bijdrage van mijn kantom deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
Vi is voor tweakersom deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
mijn smaak is jed of mcedit
AFAIK zul je iets moeten klussen. Dus je uitvoer naar een tijdelijk file schrijven, de originele file (als die bestaat) er aan vast plakken met cat en >>, originele file deleten en je tijdelijke file renamen met mv.quote:Op zondag 11 juni 2006 19:40 schreef Tijn het volgende:
Ik heb even 2 vraagjes over de Linux commandline.
1. Ik weet dat je met "programma > file" of "programma >> file" de output van een programma in een file kunt stoppen. Maar met >> schrijft 'ie altijd onderaan de file bij. Is er ook een manier om bovenaan de file bij te schrijven, of moet ik daar zelf iets voor klussen?
Als het in 1 map staat kun je een simpel scriptje doen alaquote:2. Ik heb een map die vol staat met files die een bepaalde extensie hebben en ik wil dat ze een andere extensie hebben. Hoe rename ik de hele handel het makkelijkst?
1 2 3 4 5 6 7 8 9 10 11 12 | EXT=".r" NEWEXT=".y" if [ ! -z $1 ]; then cd $1 fi for f in *${EXT}; do file=`basename $f $EXT` [ ! -f ${file}${NEWEXT} ] && mv $f ${file}${NEWEXT} done |
1 2 3 4 5 6 7 8 | if [-f file.txt]; then cp file.txt oldfile.txt fi echo {programma} > file.txt if [ -f oldfile.txt ]; then do cat oldfile.txt >> file.txt fi |
1 |
1 2 3 4 5 6 | Desktop GDM-DarkGno.tar.gz TEST.JPG rinzwind@diskworld:~$ for i in *.JPG; do mv $i `basename $i JPG`jpg; done rinzwind@diskworld:~$ ls Desktop GDM-DarkGno.tar.gz TEST.jpg rinzwind@diskworld:~$ |
1 |
Ja die doet het zelfde als ik, alleen dan in 1 regel en 1 check minderquote:Op zondag 11 juni 2006 21:35 schreef wdn het volgende:
Kan 2 niet met 1 copy commando?om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
Hier:
[ code verwijderd ]
Ik wist wel dat het kon met perlquote:Of met een perl script genaamd: replace
[ code verwijderd ]
Die regel gaat er van uit dat je bash gebruikt als shell. Voor (t)csh zul je een foreach loop moeten gebruiken (zie man).quote:Op maandag 12 juni 2006 13:21 schreef Tijn het volgende:
Bedankt mensenom deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Dat for-loopje lukte helaas nietJa toon me deze inhoudmeer informatie
ik accepteer de cookies.
Punt is een match voor ieder willekeurig karakter (net als ? in de meeste shells); je wilt een echte punt, dus moet je die escapen. De dollar geeft het einde van de string aan, Dus file.JPG wordt wel gematched, maar file.JPG.bak niet (zonder dollar zou die gerenamed worden naar file.jpg.bak).quote:Op maandag 12 juni 2006 13:33 schreef Tijn het volgende:
Ah, ik heb even wat zitten lezen en nu weet ik dat die s de substitution operator is en dat zo dus .dit voor .dat wordt vervangen. Dat is duidelijk. Die \ zal wel zijn om de punt te escapen, toch?
Dan begrijp ik alleen nog niet wat dat dollarteken daar doetom deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
Ik gebruik gewoon Bash, maar toch lukt het niet. Ik heb het net nog even zitten proberen en ik ben erachter dat het komt omdat er spaties in de filename zitten. Met files zonder spaties gaat het wel goed. Ik zal dus wel ergens een stel quotes moeten plaatsen ofzo?quote:Op maandag 12 juni 2006 17:58 schreef devzero het volgende:
[..]
Die regel gaat er van uit dat je bash gebruikt als shell. Voor (t)csh zul je een foreach loop moeten gebruiken (zie man).
Dat is dan helemaal duidelijkquote:Punt is een match voor ieder willekeurig karakter (net als ? in de meeste shells); je wilt een echte punt, dus moet je die escapen. De dollar geeft het einde van de string aan, Dus file.JPG wordt wel gematched, maar file.JPG.bak niet (zonder dollar zou die gerenamed worden naar file.jpg.bak).
En om volledig te zijn, een ^ geeft het begin van de string aanom deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Veel info kun je wel krijgen met "man perl" voor een index en bv "man perlrequick"Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
Nog bedankt voor deze link trouwens. Op m'n Ubuntu Linux-machine stond het al, maar ik heb het nu ook op m'n Mac geinstalleerdquote:Op zondag 11 juni 2006 21:35 schreef wdn het volgende:
Hier te vinden: http://search.cpan.org/~pederst/rename-1.4/
Yep. Dan zul je iets alsquote:Op maandag 12 juni 2006 19:27 schreef Tijn het volgende:
omdat er spaties in de filename zitten.
1 |
1 van de dingen waardoor perl erg onoverzichtelijk kan worden is dat de uitvoer van een commando beschikbaar is in de variable $_ en dat sommige commandos zonder argumenten $_ als invoer gebruiken. Een simpel voorbeeld (wat de stdin copieert naar de stdout) gebruikt dus geen enkele variabele (behalve impliciet $_)quote:Raar taaltje hoor, dat Perl. Ik hou eigenlijk helemaal niet van die cryptische code en heb liever wat omschrijvendere namen van functies en variabelen, maar goedom deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
1 |
Nu we toch bezig zijn, snap ik deze regel eigenlijk ook niet helemaalquote:Op maandag 12 juni 2006 19:40 schreef devzero het volgende:
[..]
Yep. Dan zul je iets als
1 for i in *.JPG; do mv "$i" "`basename $i JPG`jpg"; done
moeten doen (dus quotes om $i en `basename...`)
Hoe bedoel je cryptische code?quote:Op maandag 12 juni 2006 19:27 schreef Tijn het volgende:
Raar taaltje hoor, dat Perl. Ik hou eigenlijk helemaal niet van die cryptische code en heb liever wat omschrijvendere namen van functies en variabelen, maar goedom deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | $f = $d ? -1 : 1; $D = pack('C*',33..86); $p = shift; $p =~ y/a-z/A-Z/; $p =~ s/[A-Z]/$k=ord($&)-64,&e/eg; $k = 0; while(<>) { y/a-z/A-Z/; y/A-Z//dc; $o .= $_; } if (!$d) { $o.='X' while length($o)%5; } $o =~ s/./chr((ord($&)-13+$f*&e)%26+65)/eg; $o =~ s/X*$// if $d; $o =~ s/.{5}/$& /g; print "$o\n"; sub v { $v=ord(substr($D,$_[0]))-32; $v>53?53:$v; } sub e { $D =~ s/(.*)U$/U$1/; $D =~ s/U(.)/$1U/; $D =~ s/(.*)V$/V$1/; $D =~ s/V(.)/$1V/; $D =~ s/(.*)V$/V$1/; $D =~ s/V(.)/$1V/; $D =~ s/(.*)([UV].*[UV])(.*)/$3$2$1/; $c=&v(53); $D =~ s/(.{$c})(.*)(.)/$2$1$3/; if ($k) { $D =~ s/(.{$k})(.*)(.)/$2$1$3/; return; } $c=&v(&v(0)); $c>52?&e:$c; } |
In shell scripts wordt bij een assignment de variable zonder dollar aangegeven. Een teller 'implementeer' je bv doorquote:Op maandag 12 juni 2006 20:07 schreef Tijn het volgende:
[..]
Nu we toch bezig zijn, snap ik deze regel eigenlijk ook niet helemaalom deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
Ik ken alleen maar for-loops in C. Ik begrijp dat i hier als een soort iterator gebruikt wordt om alle elementen van *.JPG aan te wijzen. Vervolgens wordt voor elk element het commando "mv file.JPG `basename file.JPG JPG` jpg" uitgevoerd. Ik snap dat je uiteindelijk "mv file.JPG file.jpg" wil doen, maar hoe wordt "`basename file.JPG JPG` jpg" dan precies "file.jpg"?
En waarom is i opeens $i geworden trouwens?
1 2 3 | ... i=`expr $i + 1` |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |
Dat begrijpen we, maar is wel erg jammer. Je kunt FOK! namelijk wel gratis LEZEN, maar we kunnen FOK! niet gratis MAKEN. De inkomsten van de advertenties zorgen ervoor dat we de kosten van de site kunnen dragen zodat je ook morgen FOK! nog kunt bezoeken.
Zou je willen overwegen om voor FOK! een uitzondering te maken in je adblocker (of andere middelen die onze ads blokkeren)? Je krijgt deze melding dan nooit meer te zien.
Ja, ik wil fok.nl whitelisten, laat me zien hoe
Ik neem liever een premium account zodat ik geen advertenties hoef te zien (je moet eerst inloggen)
Ja, breng me naar de shop