В каталоге /proc
вы также можете найти адреса IPv4 в таблице Forwarding Information Base, в/proc/net/fib_trie
Таблица довольно понятна, если сделать просто cat
, сначала идет Main:
, а затемLocal:
cat /proc/net/fib_trie
или чтобы увидеть вашу сеть, IP-адреса и сетевую маску:
cat /proc/net/fib_trie | grep "|--" | egrep -v "0.0.0.0| 127."
|-- 193.136.1.0
|-- 193.136.1.2
|-- 193.136.1.255
|-- 193.136.1.0
|-- 193.136.1.2
|-- 193.136.1.255
Вы можете сделать это, но вы не можете отправлять команды через перенаправление или обычный файл.
When an error occurs, if ed's input is from a regular file or here document, then it exits, otherwise it prints a '?' and returns to command mode.
Одна из двух команд завершится ошибкой, так как слово в файле не может соответствовать обоим шаблонам, поэтому ed
завершает работу --либо в строке 1, потому что оно не соответствует, либо в строке 2, потому что это не соответствует (и поэтому выход до сохранения измененного файла ).
Команды будут работать (минус обратная косая черта и суффиксы )через стандартный ввод:
printf '%s\n' 's/heads/1/' 's/tails/-1/' 'wq' | ed -s coin.txt
Вы получите ?
в stderr, потому что s/heads/1/
не удалось (, который вы могли бы перенаправить ), но все замены происходят, как и ожидалось.
Обратите внимание, что я удалил завершающую команду .
, так как команды q
достаточно для выхода из ed
.
Обходной путь, опубликованный ed (1 )Conference в Twitter ,:
g/heads/s//1/
g/tails/s//-1/
wq
или без сокращений в части s///
:
g/heads/s/heads/1/
g/tails/s/tails/-1/
wq
Эти варианты работают, потому что команды g
не завершатся ошибкой, даже если замены не выполняются.