. Это довольно просто:
Вот рабочая версия вашего кода:
(async function(){
var response = await superagent.get('...')
console.log(response)
})()
ожидание поддерживается во всех текущих браузерах и узлах 8 [/ д2]
Попробуйте выполнить эту команду sed
,
sed -i '/^#.* 2001 /s/^#//' file
В дополнение к полезному ответу @ Avinash Raj с более общим решением, совместимым с POSIX.
Обратите внимание, что решение равно awk
], потому что надежное портативное решение с sed
практически невозможно из-за ограничений правильных выражений POSIX ' basic .
awk -v commentId='#' -v word='2001' '
$0 ~ "(^|[[:punct:][:space:]])" word "($|[[:punct:][:space:]])" {
if (match($0, "^[[:space:]]*" commentId))
$0 = substr($0, RSTART + RLENGTH)
else
$0 = commentId $0
}
{ print }
' file > tmpfile.$$ && mv tmpfile.$$ file
(^|[[:punct:][:space:]])
и ($|[[:punct:][:space:]])
являются расширенными эквивалентами регулярных выражений POSIX в словарных границах \<
и \>
, известных из других диалектов regex. awk
не предлагает на месте (также не относится к POSIX sed
), поэтому вывод сначала фиксируется во временном файле, и этот файл затем заменяет оригинал на успех. Да, чтобы прокомментировать строку, содержащую определенную строку с sed, просто выполните:
sed -i '/<pattern>/s/^/#/g' file
И раскомментировать ее:
sed -i '/<pattern>/s/^#//g' file
В вашем случае:
sed -i '/2001/s/^/#/g' file (to comment out)
sed -i '/2001/s/^#//g' file (to uncomment)
Опция «g» в конце означает глобальное изменение. Если вы хотите изменить только один экземпляр шаблона, просто пропустите это.