пожалуйста посоветуй
У меня есть машины linux и solaris, и мне нужна команда, которая работает на обеих ОС
Я использую следующую строку perl, чтобы удалить все строки, начинающиеся с "#", почему команда perl не работает,
примечание - необходимо поддерживать также строки, начинающиеся с пробела или TAB, а затем "#"
perl -i -pe 'next if /^ *#/' file
.
more file
# aa a
# bbb
#xxx
это будет работать на linux, возможно, также на solaris
sed -e '/^\s*#/d' file
РЕДАКТИРОВАТЬ: Если \ s не поддерживается, возможно, это сработает ...
sed -e '/^[ \t]*#/d' file
Для этого в файле просто добавьте -i
к команде
Если вы не хотите, чтобы в результате отображалось несколько пустых строк подряд, просто пропустите его через uniq