Ubuntu Server продолжает использовать старое ядро ​​

POSIX, вы бы сделали:

sed '
  s|[[:blank:]]*//.*||; # remove //comments
  s|[[:blank:]]*#.*||; # remove #comments
  t prune
  b
  :prune
  /./!d; # remove empty lines, but only those that
         # become empty as a result of comment stripping'

Что с помощью GNU sedмы можем сократить до:

sed -E 's@[[:blank:]]*(//|#).*@@;T;/./!d'

Обратите внимание, что он с радостью удалит #thingsи //things, которые не являются комментариями, как в:

const url = 'http://stackexchange.com';
x = "foo#bar";

Чтобы игнорировать #, //внутри кавычек, вы можете сделать:

perl -ne 'if (/./) {
   s{\s*(?://|#).*|("(?:\\.|[^"])*"|'"'(?:\\\\.|[^'])*'"'|.)}{$1}g;
   print if /./} else {print}'

На входе типа:

#blah
// testies one
const testies = 'two';
console.log(testies) // three

const url = 'http://stackexchange.com';
x = "not#a comment";
y = "foo\"bar" # comment
y = 'foo\'bar' # it's a comment

Дает:

const testies = 'two';
console.log(testies)

const url = 'http://stackexchange.com';
x = "not#a comment";
y = "foo\"bar"
y = 'foo\'bar'

(возможно, вам придется адаптироваться к реальному языку этих файлов (Я не знаю, поддерживает ли JavaScript #в качестве комментария, за исключением, может быть, первой строки, начинающейся с #!в node.js )).

2
27.11.2019, 14:45
1 ответ

Как отмечают Икар и А.Б. это было связано с тем, что провайдер использовал OpenVZ.

С тех пор я переключил провайдера (на провайдера, использующего KVM ), и проблема исчезла.

1
27.01.2020, 22:16

Теги

Похожие вопросы