Benutzer-Werkzeuge

Webseiten-Werkzeuge


shell:schnipsel

Schnipsel

Interaktiv?

test -v PS1 && ...

Bei Problemen der Sortierung

Dies kann z. B. join treffen. Zusätzlich passiert es schon mal, dass Zeilen mit '#' Am Anfang unter Buchstaben einsortiert werden.

LANG= LC_ALL= sort datei
LANG= LC_ALL= join <(LANG= LC_ALL= sort datei1) <(LANG= LC_ALL= sort datei2)

Basis der Zahl angeben

x=008
echo $((10#$x))

Indirection

x=TERM
echo ${!x}

Parallelisierung

#!/bin/bash
 
queues=$(($(grep -c ^processor /proc/cpuinfo)*2))
 
f() {
  echo "job $0" # 1. Parameter ist $0! $#=0 bei nur einem Parameter!
}
 
export -f f
 
# xargs: -d, wenn Leerzeichen; -n 2, falls 2 Parameter
echo {1..99} | xargs -n 1 -P $queues bash -c 'f "$@"'

Wörter in Zeilen zählen

cmd | awk '$0=NF" "$0'

Zeilen zusammenführen

echo -e "a\nb" | paste -sd :

Bereich in eine Datei einfügen

Der Inhalt einer Datei soll an eine bestimmte Stelle (zwischen den Markern $lead und $tail eingefügt werden.

lead='^### start$'
tail='^### end$'
# (r insert_file muss am Ende stehen; Return ist zwingend)
sed -ie "/$lead/,/$tail/{ /$lead/{p; r insert_file
  }; /$tail/p; d }"  existing_file

Bereich in einer Datei ersetzen

# siehe auch vorherige Aufgabenstellung
  sed -ie "/$lead/,/$tail/{ /start]$/{r neues_datenfile
  }; d }" zu_bearbeitendes_file

Array mit pre/post versehen

echo ${array[*]/%/pre} # prea preb prec
echo ${array[*]/#/post} # apost bpost cpost

Aufsteigend und absteigend sortieren

sort -t: -k1,1 -k2r

Sort unique auf Spalte

sort -u -t: -k1,1

Alle führenden Blanks durch gleiche Anzahl Nullen ersetzen

perl -pe 's/^( *)/0 x length($1)/gei'

.svnignore analog Git

svn propset svn:ignore -R -F .svnignore . # gilt immer nur für die gerade vorhandenen Ordner

Buffering der Bash deaktivieren

stdbuf -i0 -o0 -e0 command # komplett
stdbuf -oL -eL command # zeilenbasiert
unbuffer # Alternative

curl mit http-returncode

http_code=`curl --silent \
  --output /dev/null \
  --write-out '%{http_code}\n' \
  --netrc-file ~/.netrc \
  ...`
shell/schnipsel.txt · Zuletzt geändert: 2016/12/02 06:58 von michael

Seiten-Werkzeuge