Forum Linux.pl
Programowanie => Języki skryptowe => Wątek zaczęty przez: palindro w 2007-05-29, 21:17:43
-
witam potrzebuje skryptu który bedzie:
usuwal wolne linie w pliku PODANYM jako parametr...
-
Możesz wykorzystać `awk` ze sprawdzaniem $0!=""
Więcej: `man awk` i google :)
-
Cześć,
Tu nie trzeba skryptu :-) , wystarczy (e)grep, np.
egrep -v "^[[:blank:]]*$" PLIK
Pozdrawiam
Micu
-
2007-05-30 12:02:14 micu napisał:
> Cześć,
>
> Tu nie trzeba skryptu :-) , wystarczy (e)grep, np.
>
> egrep -v "^[[:blank:]]*$" PLIK
>
> Pozdrawiam
> Micu
>
tylko ze ta operacja Mosi byc wykonana wlasnie przez skrypt....
a nie pojedynczo komende....
prosba dalej aktualna.....
-
>
> tylko ze ta operacja Mosi byc wykonana wlasnie przez skrypt....
> a nie pojedynczo komende....
>
> prosba dalej aktualna.....
skrypt.sh:
#!/bin/sh
egrep -v "^[[:blank:]]*$" $1 > $2
no i wykonujesz: skrypt.sh plik_wejsciowy plik_wyjsciowy
[Xavery] Uprasza się o nie podawanie gotowych rozwiązań na talerzu, zwłaszcza w sytuacji w której pytający miał przedstawiony sposób rozwiązania zadania (zapewne szkolnego) :)
-
Komenda tr posiada przełącznik -s, który pozwala usunąć powtarzające się znaki. Linia pusta oznacza, że znak nowej linii występuje dwa razy z rzędu. Polecam zapoznać się z manualem!
-
sed'em też się da to zrobić:
sed '/^$/d' test > test2
a jeśli mają być usunięte linie z samymi pustymi znakami to:
sed '/^\s*$/d' test > test2