Некоторые пользовательские данные вашего браузера находятся в /home
(, например. ~/.config/chromium/
или ~/.cache/google-chrome/
), поэтому он работает на вашем жестком диске. Установка его на ssd должна увеличить вашу производительность.
С parse_dhcp.awk
как
#!/usr/bin/env awk -f
function output() {
printf "%s, %s, %s\n", hw, fa, opt
}
$1 == "host" {
if (NR > 1) output()
hw = fa = opt = ""
next
}
{sub(/;$/, "")}
$1 == "hardware" {hw = $NF}
$1 == "fixed-address" {fa = $NF}
$1 == "option" {opt = $NF; gsub(/"/, "", opt)}
END {output()}
, затем
awk -f parse_dhcp.awk dhcp.conf
Более неясно, что этот файл имеет правильный синтаксис Tcl, поэтому нам просто нужно написать DSL, чтобы мы могли оценить файл как скрипт Tcl:
#!/usr/bin/env tclsh
proc host {name data} {
global vars
array set vars {hardware "" fixed-address "" option ""}
eval $data
puts "$vars(hardware), $vars(fixed-address), $vars(option)"
}
proc unknown {cmd args} {
global vars
set vars($cmd) [lindex $args end]
}
set file [lindex $argv 0]
source $file
и
tclsh parse_dhcp.tcl dhcp.conf
Следующие строки Perl one -, кажется, почти выводят то, что вы хотите:
perl -ane 'print $F[-1] =~ s/[";]//gr unless /[{}]/; print /^$/ ? "\n" : " "'
но я боюсь, что ввод может содержать разделы, которые вы хотите полностью пропустить,поэтому требуется дополнительная настройка:
perl -ane 'if (/host/.. /}/) {
print $F[-1] =~ s/[";]//gr unless /[{}]/;
print /}/ ? "\n" : " "
}'
что означает
host
и }
, мы обрабатываем ввод, иначе пропускаем его.