Przejdź do zawartości

Programowanie w systemie UNIX/sed

Z Wikibooks, biblioteki wolnych podręczników.

Sed[1]

Podręczniki

[edytuj]
  • fragment z książki Novell SuSE[2]

Konwersja liczby

[edytuj]
 a=1.2e5
 echo "$a" | sed 's/e/*10^/g;s/ /*/' | bc

Lepiej jest dodać nawiasy wokół liczby postaci a*b^n z uwagi na kolejność operatorów:

#!/bin/bash

# chmod +x test.sh
# ./test.sh

r="1e-09" 
echo "r  =  "$r
r10=`echo "("${r}")" | sed -e 's/[eE]+*/\\*10\\^/'` # convert e to *10^
echo "r10 = "$r10

b=$(echo 1/$r10 | bc -l)
echo " b = "$b

Wynik:

 ./test.sh
r  =  1e-09
r = (1*10^-09)
1/r = 1000000000.00000000000000000000

Usuwanie końcowych spacji z linii

[edytuj]

W pliku bent.pal usuwamy końcowe spacje. Wynik zapisujemy do pliku b.pal:

  sed 's/blank:*$//' bent.pal>b.pal

Użycie

[edytuj]

Źródła

[edytuj]
  1. Sed (program) w wikipedii
  2. Opis sed z książki Novell SuSE