Next: Reverse chars of lines, Previous: Rename files to lower case, Up: Examples
以下のスクリプトは,set
Bourneシェルコマンドの出力から,シェル関
数の定義を取り除きます.
#!/bin/sh
set | sed -n '
:x
# if no occurrence of ‘=()’ print and load next line
/=()/! { p; b; }
/ () $/! { p; b; }
# possible start of functions section
# save the line in case this is a var like FOO="() "
h
# if the next line has a brace, we quit because
# nothing comes after functions
n
/^{/ q
# print the old line
x; p
# work on the new line now
x; bx
'