DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets has posted 5883 posts at DZone. View Full User Profile

SED Examples

12.21.2005
| 33088 views |
  • submit to reddit
        // SED examples

- stampa tutte le linee di un file tranne i commenti (iniziano con '#')
  
cat $FILE | sed -e '/^#/d'
- stampa tutte le linee che iniziano con un numero
  
cat $FILE | sed -n "/^[0-9]/p"
- stampa tutte le linee che NON iniziano con un numero
  
cat $FILE | sed -n "/^[0-9]/p"
- rimuove tutte le linee vuote (costituite solo da \n)
  
cat $FILE | sed -e "/^$/d"
- rimuove tutte le linee formate da spazi (e seguite da \n)
  
cat $FILE | sed -e "/^[ ][	]*$/d"
- rimuove tutte le linee che contengono 'exportPIPPO'
  
sed "/export[ |	]*PIPPO/d" $FILE
- rimuove il path di un filename
  
echo "/usr/bin/prova" | sed -e "s/.*\///"
  scrive: prova
- scrive solo il path
  
echo "/usr/bin/prova" | sed -e "s/\/[^\/]*$//"
  scrive: /usr/bin
- stampa la 'n'esima riga di un file (nell'esempio la 5a)
  
sed -n -e "5p" $FILE
- stampa le righe di un file (nell'esempio dalla 2a alla 5a)
  
sed -n -e "2,5p" $FILE
- esempi di sostituzioni:
  
sed "s/\"/ /g"
	.. sostituisce tutte le '"' con space
  
sed "s/,/ /g"
		.. sostituisce tutte le ',' con space
  
sed 's:bin::'
     .. sostituisce il primo 'bin' con nulla

- esempi di estrazioni:
  - 
id | sed -n "/^uid=[0-9]*(\([^)]*\)).*/s//\1/p"
    estrae: nome dell'user
  - 
echo "-T100" | sed 's/^-T//'
    estrae: 100

- estrae i campi user e home (il 1o e il 6o) dal file /etc/passwd e formatta:
  
cat /etc/passwd | sed 's/\([^:]*\):.*:\(.*\):[^:]*$/_dir=\2 _user=\1/'
  scrive: _dir=/ _user=root
          ...
          _dir=/home/bellina _user=bellina