Мне понадобился вышеупомянутый -, а также многострочный -, поэтому я объединил ответ Бармара с некоторым собственным sed для достижения этого
sed -e '/\/\*/,/\*\//{s/^\( *\)\/\*/\1~~/g;s/^\( *\) \*\//\1~~/g;s/^\( *\) \*/\1~~/g;s/~~/\/\//g};s/\*\*/\/\//g;s,^\(.*\)/\*\(.*\)\*/\s*$,\1//\2,'
(Кстати, если на Mac вам нужен gsed, иначе вы получите сообщение об ошибке)
Вот разница до/после
***************
*** 1,13 ****
! /*
FOO
! */
! /*
! * BAR
! */
! blah blah /* comment */
! blah blah / blah /* comment */
blah blah /* comment */ blah
blah blah / blah /* comment */ blah
--- 1,13 ----
! //
FOO
! //
! //
! // BAR
! //
! blah blah // comment
! blah blah / blah // comment
blah blah /* comment */ blah
blah blah / blah /* comment */ blah
Вот альтернатива, для которой вы можете установить псевдоним:
eval `history |awk '/^ [0-9]* [$]/{print $2}'|tail -n 1`
Ищет в истории последнюю команду, начинающуюся с $
, и оценивает результат. Хотя, это не будет работать с многострочными командами.
Я бы предложил использовать Ctrl + R , набрав $
и просмотреть предыдущие команды, соответствующие $
.