regex для замены слова в блоке в файле?

Чтобы прояснить, что комментаторы отметили в коде:

BEGIN {
    FS="\t"
    HPD=0
    HPDname=""
    LPD=0
    LPDname=""
    HPW=0
    HPWname=""
    LPW=0
    LPWname=""
}
# Stuff in here needs to be printed during the process.
{
  print $1
  PD=$2/$4
  print PD
  PW=($3/($3+$4))*100
  print PW

# These if statements see if there is a new highest or lowest value for the     categories.
  if (PD>HPD)
  {
    HPD=PD
    HPDname=$1
  }
  if (PDHPW)
  {
    HPW=PW
    HPWname=$1
  }
  if (PW

Вы смешиваете Bash как переменный синтаксис и неловкость.

Bash:

variable='something'
echo $something

awk:

variable="something"
print variable

awk использует $ для переменных поля, таких как $1, $2, $0, $ NF, но НЕ для созданных переменных. Я думаю, что это более или менее правильно технически, хотя я должен признать, что никогда не читал подробности.

Назначение переменной

-121--184928-

Я заметил, что это довольно старый вопрос. Чтобы ответить на него более современным тоном, дзелект довольно старый и устаревший. aptitude гораздо более согласован в оценке зависимостей, чем dselect и apt-get, и в качестве бонуса, вы называете aptitude без аргументов, у вас есть dselect-подобный интерфейс, который работает намного лучше.

aptitude не устанавливается по умолчанию, и в Debian вы должны сделать:

apt-get install aptitude

-121--83917-

Сетевой адаптер вашей виртуальной машины по умолчанию находится в режиме NAT. Это означает, что невозможно выполнить ssh/telnet/etc для виртуальной машины вне ее. Переключитесь на Bridged в настройках виртуальной машины, и он должен работать.

0
26.07.2018, 20:34
1 ответ

Я не совсем понимаю вашу конкретную проблему, простой sedможет достичь того, что вы показываете:

$ sed 's/\ballow\b/not/g' afile
<Directory />
 words
 not
 bus

\bзащищает, чтобы мы заменяли только слова, такие как allow, строкой not. Если вы хотите удалить строки, содержащие строку allow, вы также можете использовать для этого sed:

$ sed '/\ballow\b/d' afile
<Directory />
 words
 bus
</Directory>
0
28.01.2020, 04:16

Теги

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