<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://danno76.tplinkdns.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Script</id>
	<title>Script - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://danno76.tplinkdns.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Script"/>
	<link rel="alternate" type="text/html" href="https://danno76.tplinkdns.com/wiki/index.php?title=Script&amp;action=history"/>
	<updated>2026-07-28T19:42:26Z</updated>
	<subtitle>Versionshistorik för denna sida på wikin</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://danno76.tplinkdns.com/wiki/index.php?title=Script&amp;diff=11&amp;oldid=prev</id>
		<title>Danno: Skapade sidan med &#039;{{mall:under utveckling}} Kategori:Datorer_Data_och_Program lathund för shellscript kommer att finnas här! =Enkel if-sats= Kolla om en fil finns, och skriv ut resultatet:  if [ -e &quot;fil.txt&quot; ]; then echo &quot;Finns&quot;; else echo &quot;finns ej&quot;; fi Ett bash-script som frågar om du vill eller inte:  #!/bin/bash  echo &quot;vill du?&quot;  echo &quot;[j/n]&quot;  read fraga    if [ $fraga = &quot;j&quot; ]  then    echo &quot;Du vill!!&quot;  else    echo &quot;VA? vill du inte?&quot;  fi    exit 0 Vill vi ha fler val ersätte...&#039;</title>
		<link rel="alternate" type="text/html" href="https://danno76.tplinkdns.com/wiki/index.php?title=Script&amp;diff=11&amp;oldid=prev"/>
		<updated>2026-07-07T19:35:26Z</updated>

		<summary type="html">&lt;p&gt;Skapade sidan med &amp;#039;{{mall:under utveckling}} &lt;a href=&quot;/wiki/index.php/Kategori:Datorer_Data_och_Program&quot; title=&quot;Kategori:Datorer Data och Program&quot;&gt;Kategori:Datorer_Data_och_Program&lt;/a&gt; lathund för shellscript kommer att finnas här! =Enkel if-sats= Kolla om en fil finns, och skriv ut resultatet:  if [ -e &amp;quot;fil.txt&amp;quot; ]; then echo &amp;quot;Finns&amp;quot;; else echo &amp;quot;finns ej&amp;quot;; fi Ett bash-script som frågar om du vill eller inte:  #!/bin/bash  echo &amp;quot;vill du?&amp;quot;  echo &amp;quot;[j/n]&amp;quot;  read fraga    if [ $fraga = &amp;quot;j&amp;quot; ]  then    echo &amp;quot;Du vill!!&amp;quot;  else    echo &amp;quot;VA? vill du inte?&amp;quot;  fi    exit 0 Vill vi ha fler val ersätte...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{mall:under utveckling}}&lt;br /&gt;
[[Kategori:Datorer_Data_och_Program]]&lt;br /&gt;
lathund för shellscript kommer att finnas här!&lt;br /&gt;
=Enkel if-sats=&lt;br /&gt;
Kolla om en fil finns, och skriv ut resultatet:&lt;br /&gt;
 if [ -e &amp;quot;fil.txt&amp;quot; ]; then echo &amp;quot;Finns&amp;quot;; else echo &amp;quot;finns ej&amp;quot;; fi&lt;br /&gt;
Ett bash-script som frågar om du vill eller inte:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 echo &amp;quot;vill du?&amp;quot;&lt;br /&gt;
 echo &amp;quot;[j/n]&amp;quot;&lt;br /&gt;
 read fraga&lt;br /&gt;
 &lt;br /&gt;
 if [ $fraga = &amp;quot;j&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   echo &amp;quot;Du vill!!&amp;quot;&lt;br /&gt;
 else&lt;br /&gt;
   echo &amp;quot;VA? vill du inte?&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
Vill vi ha fler val ersätter vi if-satsen mot case:&lt;br /&gt;
 case &amp;quot;$fraga&amp;quot; in&lt;br /&gt;
 j)&lt;br /&gt;
   echo &amp;quot;Du valde JA&amp;quot;&lt;br /&gt;
   ;;&lt;br /&gt;
 n)&lt;br /&gt;
   echo &amp;quot;Du valde NEJ&amp;quot;&lt;br /&gt;
   ;;&lt;br /&gt;
 *)&lt;br /&gt;
   echo &amp;quot;Vänligen svara j eller n&amp;quot;&lt;br /&gt;
   ;;&lt;br /&gt;
 &lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
=Gökur=&lt;br /&gt;
Rolig grej, eller skojja med kompis/kollega:&amp;lt;br /&amp;gt;&lt;br /&gt;
Ladda hem cockoo.ogg&amp;lt;br /&amp;gt;&lt;br /&gt;
geekur.sh:&lt;br /&gt;
 #/bin/bash&lt;br /&gt;
 #&lt;br /&gt;
 for i in $(seq 1 `(date +%H)`)&lt;br /&gt;
 do&lt;br /&gt;
   eject&lt;br /&gt;
   ogg123 -q cockoo.ogg&lt;br /&gt;
   eject -t&lt;br /&gt;
 done&lt;br /&gt;
Lägg till i /etc/crontab:&lt;br /&gt;
 0 * * * * sh geekur.sh&lt;br /&gt;
Vill du istället ha 12-timmars, använder du&lt;br /&gt;
 date +%I&lt;br /&gt;
&lt;br /&gt;
=Konvertera bilder=&lt;br /&gt;
Enkelt script som använder convert för att storleksändra alla jpeg-bilder i samma katalog:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 FILES=&amp;quot;*.jpg&lt;br /&gt;
 *.JPG&amp;quot;&lt;br /&gt;
 for i in $FILES&lt;br /&gt;
 do&lt;br /&gt;
   echo $i&lt;br /&gt;
   convert -resize &amp;#039;x75&amp;gt;&amp;#039; -resize &amp;#039;75&amp;gt;&amp;#039; $i $i&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
=Ta reda på IP-adress=&lt;br /&gt;
Detta script tar reda på din publika och privata IP-Adress&amp;lt;br /&amp;gt;&lt;br /&gt;
samt skriver dessa i en textfil:&amp;lt;br /&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #&lt;br /&gt;
 # Detta script tar reda på publik IP och intern IP&lt;br /&gt;
 # Informationen skrivs i filen ipinfo.txt&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # tanka hem index.html från dyndns.com:&lt;br /&gt;
 wget -q http://checkip.dyndns.com&lt;br /&gt;
 &lt;br /&gt;
 # Hämta IP-Adressen som finns mellan BODY-taggarna:&lt;br /&gt;
 echo &amp;quot;Publik IP:&amp;quot; &amp;gt; ipinfo.txt&lt;br /&gt;
 cat index.html | awk &amp;#039; { sub (/&amp;lt;\/body&amp;gt;&amp;lt;\/html&amp;gt;/, &amp;quot;&amp;quot;); print $6}&amp;#039; &amp;gt;&amp;gt; ipinfo.txt&lt;br /&gt;
 &lt;br /&gt;
 # Hämta intern IP-adress:&lt;br /&gt;
 echo &amp;quot;Privat IP&amp;quot; &amp;gt;&amp;gt; ipinfo.txt&lt;br /&gt;
 ifconfig eth0 | grep -v inet6 | awk &amp;#039;/inet/,// { sub (/addr:/, &amp;quot;&amp;quot;); print $2 &amp;gt;&amp;gt; &amp;quot;ipinfo.txt&amp;quot;}&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 # Deleta index.html:&lt;br /&gt;
 rm index.html&lt;br /&gt;
&lt;br /&gt;
Mycket användbart om det ingår i ett större script,&amp;lt;br /&amp;gt;&lt;br /&gt;
tillexempel en backupp.&lt;br /&gt;
&lt;br /&gt;
=Printa variabler=&lt;br /&gt;
Printa variabeldata utan RIP är inte helt lätt.&amp;lt;br /&amp;gt;&lt;br /&gt;
Du &amp;#039;&amp;#039;&amp;#039;kan&amp;#039;&amp;#039;&amp;#039; använda OpenOffice.org, men om du har ett DTP-program såsom Scribus, så har du ju en PDF, eller postscriptfil när du är klar.&amp;lt;br /&amp;gt;&lt;br /&gt;
==Postscript==&lt;br /&gt;
Först: &amp;#039;&amp;#039;Det går att lägga in variabeldata i postscript&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Jag har ännu inte hittat den perfekta lösningen, men det jag ska beskriva nedan fungerar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Först fixar du databasen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Det är enkelt, du sparar helt enkelt en kommaseparerad .csv-fil.&amp;lt;br /&amp;gt;&lt;br /&gt;
Du måste givetvis ha gjort en .ps fil också.&amp;lt;br /&amp;gt;&lt;br /&gt;
Så scriptet:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 IFS=,&lt;br /&gt;
 while read Knr Grupp Kund Referens Adress1 Adress2 Postadress&lt;br /&gt;
 do&lt;br /&gt;
  echo &amp;quot;$Knr&amp;quot;&lt;br /&gt;
  echo &amp;quot;$Kund&amp;quot;&lt;br /&gt;
  echo &amp;quot;$Referens&amp;quot;&lt;br /&gt;
  echo &amp;quot;$Adress1&amp;quot;&lt;br /&gt;
  echo &amp;quot;Adress2&amp;quot;&lt;br /&gt;
  echo &amp;quot;Postadress&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  sed -e &amp;quot;s/\%\%Page\: 1 1/\%\%Page\: 1 1\ngsave\n\/Courier\ 10\ selectfont\n950\ 830\ moveto\n(&amp;quot;$Kund&amp;quot;\ \ &amp;quot;$Knr&amp;quot;)\ show\n950\ 820\ moveto\n(&amp;quot;$Adress1&amp;quot;)\ show\n950\ 810\ moveto\n(&amp;quot;$Adress2&amp;quot;)\ show\n950\ 800\ moveto\n(&amp;quot;$Postadress&amp;quot;)\ show\ngrestore/g&amp;quot; &amp;lt; infil.ps &amp;gt; $Knr.ps&lt;br /&gt;
 &lt;br /&gt;
 done &amp;lt; databas.csv&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;echo&amp;#039;&amp;#039;&amp;#039; gör inget annat än att skriva ut variablerna scriptet läser in, på skärmen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Bara för att visa att det går att använda csv-filer till mer än just postscript.&amp;lt;br /&amp;gt;&lt;br /&gt;
Raden med &amp;#039;&amp;#039;&amp;#039;sed&amp;#039;&amp;#039;&amp;#039; är den som hittar rätt ställe i .ps-filen, och stoppar in variablerna.&amp;lt;br /&amp;gt;&lt;br /&gt;
Se sidan om [[Postscript]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Detta fungerar utmärkt, MEN:&amp;lt;br /&amp;gt;&lt;br /&gt;
Eftersom det i detta fallet handlar om postscript, så måste specialtecken som &amp;amp;-tecken, dubbel-escapas i databasen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Detta eftersom scriptet &amp;quot;tar bort&amp;quot; det ena escapetecknet.&amp;lt;br /&amp;gt;&lt;br /&gt;
Annars kan postscript ta det som ett kommando, och resultatet blir tokigt.&amp;lt;br /&amp;gt;&lt;br /&gt;
Nästa &amp;quot;bug&amp;quot;, märkte jag, är att våra språkliga specialtecken inte fungerar trots escape.&amp;lt;br /&amp;gt;&lt;br /&gt;
Alltså, har vi åäö men i databasen, kommer det inte att fungera.&amp;lt;br /&amp;gt;&lt;br /&gt;
Det är inte omöjligt att det går att komma runt på något sätt.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PDF==&lt;br /&gt;
Ännu enklare, egentligen!&amp;lt;br /&amp;gt;&lt;br /&gt;
Skapa först brevet som ska adresseras, vi kallar det &amp;#039;&amp;#039;&amp;#039;sid1.pdf&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Sen databasen, här använder jag OpenOffice.org, och gör en tom sida, med kopplingsinformation, på rätt position.&amp;lt;br /&amp;gt;&lt;br /&gt;
Denna skrivs sedan ut till PDF-skrivare, &amp;#039;&amp;#039;&amp;#039;OBSERVERA&amp;#039;&amp;#039;&amp;#039; att det ska bli &amp;#039;&amp;#039;enstaka utskrifter&amp;#039;&amp;#039;, dvs. en PDF per adress.&amp;lt;br /&amp;gt;&lt;br /&gt;
Adresserna kommer att få filnamn som svk16_-_2.pdf&amp;lt;br /&amp;gt;&lt;br /&gt;
Lägg adress-PDF:erna ovanpå brevet:&lt;br /&gt;
 for i in sv*.pdf; do pdftk sid1.pdf stamp $i output a$i; done;&lt;br /&gt;
Du har nu nya PDF:er med samma namn som adresserna, men med bokstaven a framför.&amp;lt;br /&amp;gt;&lt;br /&gt;
Och det är klart.&amp;lt;br /&amp;gt;&lt;br /&gt;
Har du en baksida, eller ännu fler sidor som ska in, lägger du till dessa med:&lt;br /&gt;
 for i in asv*.pdf; do pdftk A=$i B=sid2.pdf cat A1 B1 output z$i; done;&lt;br /&gt;
Så där. Nya filer igen, nu med bokstaven &amp;#039;&amp;#039;&amp;#039;z&amp;#039;&amp;#039;&amp;#039; först i filnamnet.&amp;lt;br /&amp;gt;&lt;br /&gt;
Bara att ta bort de första, och övrigt du inte vill ha kvar. Sedan printa.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notera dock att de printas i ordning, men den första kommer att komma sist,&amp;lt;br /&amp;gt;&lt;br /&gt;
beroende på att den inte fick numreringen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Se även: [[Pdftk]]&lt;/div&gt;</summary>
		<author><name>Danno</name></author>
	</entry>
</feed>