#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
# exec gnome-session
# exec startkde
# exec startxfce4
# ...or the Window Manager of your choice
Пытался сделать так:
sed '/^#[^\!]/d' ~/.xinitrc
Выводит:
#!/bin/sh
#
#
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
Для регулярки нужно два символа, поэтому строки из одних решёток остаются.
Пришел к этому варианту:
sed '2,$ s/^#.*$//'
Но с удалением строк не работает:
sed '2,$ /^#/d'
Пришлось делать две команды:
sed '2,$ s/^#.*$//;^$/d'
Поделитесь другими способами.