Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1:textutils

Dies ist eine alte Version des Dokuments!


Inhaltsverzeichnis

cat & split

dd if=/dev/urandom of=test.big count=100 bs=1M
split -b14m test.big
cat x?? > test2.big
md5sum test.big test2.big

tac

rpm -qa --last | tac

nl

nl /etc/init.d/network

cut

cut -b28- /var/log/messages | sort

cut & paste

Auseinandernehmen:

cut -d: -f1-3 /etc/passwd > spalte1-3
cut -d: -f4- /etc/passwd > spalte4-7

Wieder zusammensetzen

paste -d: spalte1-3 spalte4-7

sort

Dateien und Verzeichnisse unter / nach Größe sortiert ausgeben

du -mx / | sort -n

1)

1)
in aktuellen Distributionen auch:
du -hx / | sort -h ))
Benutzer nach Benutzernummer sortiert ausgeben:
sort -t : -k 3n -r /etc/passwd
===== uniq ===== Doppelte Zeilen loswerden:
egrep -v '^#' /etc/httpd/conf/httpd.conf | uniq
Welcher Benutzer hat wie viele Prozesse laufen:
ps -e --no-headers -o user | sort | uniq -c
===== expand ===== Tabs in Spaces
tr : "\t" < /etc/passwd | cat -T
tr : "\t" < /etc/passwd | expand -t 15,17,23,29,60,80
===== unexpand ===== Spaces in Tab
unexpand -a <<EOF | cat -T
eins    1
drei    3
fünf    5
sechs   6
sieben  7
acht    8
EOF
Aber nicht:
unexpand -a <<EOF | cat -T
eins 1
drei 3
fünf 5
sechs 6
sieben 7
acht 8
EOF
===== fmt =====
wget -q -O - www.gnu.org/licenses/gpl-3.0.txt | fmt -w 40
===== pr =====
wget -q -O - www.gnu.org/licenses/gpl-3.0.txt | pr
===== join =====
sort -t: -k 3 /etc/group > group
sort -t: -k 4 /etc/passwd > passwd
join -t: -1 4 -2 3 -o 1.1 2.1 passwd group
Aber:
join -t: -1 4 -2 3 -o 1.1 2.1 passwd /etc/group | wc -l
wc -l /etc/passwd
Wo ist der Rest? Alternative:
perl -F: -ane 'BEGIN {$GROUPFILE=shift; open GROUPFILE; %h=map {(split /:/)[2,0]} <GROUPFILE> }; print "$F[0]: $h{$F[3]}\n"' /etc/group /etc/passwd
===== head =====
ps ax | head
===== tail =====
tail -f /var/log/messages
===== hexdump =====
dd if=/dev/sda count=1 bs=1M | hexdump | less
===== wc =====
wget -q -O - www.gnu.org/licenses/gpl-3.0.txt | wc
===== sed ===== a und b vertauschen:
sed y/ab/ba/ /etc/hosts
subnetz ersetzen:
sed -i s/192.168/10.0/g /etc/hosts
Verzeichnisweit ersetzen:
find -type f -name "*.c" -exec sed -i s/bla/blub/ {} \;
Benutzer nutzer22 aus /etc/passwd entfernen:
sed -e '/^nutzer22/d' /etc/passwd
===== tr =====
tr abc xyz < /etc/hosts
lpi1/textutils.1315300013.txt.gz · Zuletzt geändert: 2011/09/06 09:06 von ingo_wichmann