Zeige in einer Konfigurationsdatei keine Komentare und leeren Zeilen an: grep -v '^#' /etc/turnserver.conf | awk 'NF' In allen TXT-Dateien eines Verzeichnisses „ALT“ gegen „NEU“ tauschen: sed -i"" 's|ALT|NEU|g' *.txt oder rpl (sogar rekursiv) benutzen: rpl -Rwd -x'.txt' 'ALT' 'NEU' verzeichnis/ Ersetzung mit rpl nur simulieren: rpl -Rsdv -x'.txt' 'ALT' 'NEU'
In xcache.ini Datei den beliebigen Wert von sed -i -e 's/^\(xcache\.admin\.enable_auth[ ]*=\).*/\1 Off/' /etc/php5/apache2/conf.d/xcache.ini
Lösche eine Zeile mit Inhalt:„127.0.0.2“ aus Datei sed -i -e '/127.0.0.2/d' /etc/hosts Standardshell in SUSE ändern: sed -i -e 's|/bin/bash|/bin/tcsh|g' /etc/default/useradd
Ersetze in einer Variablen r=Richard echo ${r/ichar/olan} ~>Roland Datei rückwärts anzeigen: rev datei.txt
Spalten 1 und 3 ausschneiden: cut -f 1,3 datei.txt Spalten ohne cut ermitteln(schneller): buf="buf1 buf2 buf3 der doofe rest" #oder buf=`cat datei.txt` read b1 b2 b3 rest<<<$buf echo b2 && echo rest Zeige die letzten drei Zeichen einer jeden Zeile an: grep -o '...$' oder cat datei.txt | tail -c 3 Zeige alle Zeilen an, in der nicht an der zehnten Stelle ein „-“ steht: grep -v '^.........-' datei.txt Zeige alle Zeilen an, deren Länge kleiner 5 beträgt: sed '/^.\{5\}/d' datei.txt Inhalt einer Datei doppelt nebeneinander anzeigen: paste datei.txt datei.txt kommaseparierte Spalten ausschneiden: cut -d, -f 1-3 datei.txt Feld 6 aus der /etc/passwd ausschneiden(Trenner ist der doppelpunkt): cut -d : -f 6 /etc/passwd Lösche die ersten 6 Zeichen jeder Zeile: cut -c 6- myfile.txt Zeilennummer voransetzen: nl datei
nl -s ".Zeile " datei.txt Text am Anfang jeder Zeile einfügen: awk '{print "echo "$0}' datei.txt Text am Ende jeder Zeile einfügen: awk '{print $0"Ende"}' datei.txt Ersetze „alt“ mit „neu“ in Zeilen die „meintext“ enthalten: awk '/meintext/{gsub(/alt/, "neu")}; 1' datei.txt Ersetze „alt“ mit „neu“ in Zeilen die NICHT „meintext“ enthalten: awk '!/meintext/{gsub(/alt/, "neu")}; 1' datei.txt Zeige nur Zeilen an die länger als 255 Zeichen lang sind: awk 'length > 255' Zeige nur Zeilen an die länger als 255 Zeichen lang sind aber auch Leerzeichen enthalten können: cat datei.txt | awk 'length>255 {gsub(/^ +/,""); print $0, length} ersten Buchstaben löschen wenn es ein großes R ist: r=Richard echo ${r#R} ~>ichard letzten Buchstaben löschen wenn es ein kleines d ist: r=Richard echo ${r%d} ~>Richar einen Buchstaben n immer durch l ersetzen: tr n l < datei.txt oder r=Anna echo ${r//n/l} ~>Alla ein Ausrufezeichen an das Ende jeder Zeile einer Datei anfügen: sed -i 's/$/\"/' datei.txt ein Komma durch ein NewLine ersetzen: id | tr , '\n' Großbuchstaben in Kleinbuchstaben ersetzen: cat /var/log/Messages | tr A-Z a-z oder dd if=/etc/fstab of=upper.txt conv=ucase oder r=RichArd echo ${r,,} ~>richard Kleinbuchstaben in Großbuchstaben umwandeln: r=RichArd echo ${r^^} ~>RICHARD oder dd if=/etc/fstab of=upper.txt conv=lcase Buchstaben b bis d löschen: echo "abcdef"| tr -d b-d alle Zahlen löschen: tr -d 0-9 <datei.txt alle Buchstaben löschen: echo "abcdefg123" | tr '[:alpha:]' - alle Wiederholungen löschen: echo "XXXXXXXXXX" | tr --squeeze-repeats 'X' alle Tabs löschen: tr -d '[:blank:]' test3.txt alle nichtdruckbaren Zeichen ausfiltern: cat datei | tr -cd '[:print:]' | cat alle nichtdruckbaren und Leerzeichen herausfiltern: cat datei | tr -cd '[:print:][:space]' | cat ROT13 verschlüsselung: cat /var/log/messages | tr 'a-zA-Z' 'n-za.mN-ZA-M' CarriageReturn (CR) aus einer aus Windows übernommenen Textdatei löschen: sed -i 's/\x0D$//' DATEI
Zeige mir die fünfte Zeile der Datei sed -n '5p' datei.txt
Zeige mir nicht die erste Zeile der Datei sed '1,1d' datei.txt
Zeige mir nicht die ersten zwei Zeilen der Datei sed '1,2d' datei.txt
Zeige mir nicht die zweite Zeile der Datei sed '2,1d' datei.txt
Zeige mir nicht die zweite bis vierte Zeile der Datei sed '2,4d' datei.txt Dateien umkodieren: recode UTF8..latin1 datei.txt Inhalt einer Textdatei zeileweise auslesen und was damit machen: for i in `cat datei.txt`;do echo $i $i %'\n';done > neuedatei.txt einen Dateinamen zerlegen(Vorsicht bei Namen wie datei.x.y.txt):
nur den Dateinamen(datei.txt) anzeigen: dt=/mein/tiefes/Verzeichnis/mit/der/datei.txt echo ${dt##*/}
split -b 10000000 grosseDatei.dbf die Dateien wieder zusammenfügen: cat x* > grosseDatei.dbf
Mit dd if=xaa of=grosseDatei.dbf dd if=xab of=grosseDatei.dbf bs=1 seek=700000
Ein mit dd if=/dev/sda1 | gzip -9 | ssh ich@mysrv "cd /tmp ; cat > sda1.img.gz" Eine unsichtbare Datei erstellen, wiederfinden und löschen: echo testinhalt >" " find . -name '[ ]' -print -exec cat {} \; #Ausgabe: ./ testinhalt #löschen: rm " " # von Windows aus war die Datei in einer Sambafreigabe jedoch als "_2X68Q~7" zu erkennen.
find /meindir -iname "index.html" -o -iname "*.gif" -print
zypper in -y crudini crudini --set /opt/Citrix/ICAClient/config/wfclient.ini WFClient AllowAudioInput True
diff -rq /opt/CitrixORG /opt/Citrix
find /usr/ -mmin -10 -ls
in der Datei sed -i '/\[users\]/,/\[/{//!d}' /etc/samba/smb.conf sed -i -e '/\[users]/d' /etc/samba/smb.conf
sed -i 's/^account.*/account requisite pam_time.so\n&/' /etc/pam.d/common-account
awk -i inplace -v var='account\trequisite\tpam_time.so' 'BEGIN { found = 0; ins = var } /^account/ { if( ! found ) {print var; found = 1; }} { print }' /etc/pam.d/common-account
awk -f benutzer.awk benutzer.txt |