在awk
中考虑以下替代。
import urllib.request
import time
import socket
nf = urllib.request.urlopen("http://192.168.1.2")
start_loadf = time.time()
page = nf.read()
end_loadf = time.time()
nf.close()
reading_time = format(end_loadf-start_loadf,'.3f')
print("Kaynaktan alinan ilk okuma suresi : ", reading_time , "sn.")
输出如下。
echo 'hello/bar/goo' | awk '{gsub(/\//,"foo"); print}'
注意我们必须将第一个参数中的hellofoobarfoogoo
转义为/
,因为gsub
是awk /
函数中正则表达式的默认分隔符
考虑到我们可以通过更改分隔符来解决gsub
中的相同问题,我想知道sed
是否可以实现相同的问题。
gsub
我已尝试过以下两种方法,但它们会导致语法错误。
echo 'hello/bar/goo' | sed 's!/!foo!g'
我可以在echo 'hello/bar/goo' | awk '{gsub(!/!,"foo"); print}'
awk: cmd. line:1: {gsub(!/!,"foo"); print}
awk: cmd. line:1: ^ unterminated regexp
awk: cmd. line:2: {gsub(!/!,"foo"); print}
awk: cmd. line:2: ^ unexpected newline or end of string
echo 'hello/bar/goo' | awk '{gsub(|/|,"foo"); print}'
awk: cmd. line:1: {gsub(|/|,"foo"); print}
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: {gsub(|/|,"foo"); print}
awk: cmd. line:1: ^ unterminated regexp
设置一些选项以允许awk
的备用分隔符吗?
如果是,那么允许的备用分隔符是什么?
答案 0 :(得分:1)
您可以使用双引号作为分隔符。
echo 'hello/bar/goo' | awk '{gsub("/","foo"); print}'
但是在处理反斜杠时要小心,因为你需要使用四个反斜杠才能匹配单个反斜杠。
$ echo 'hello/bar\goo' | awk '{gsub("\\\\","foo"); print}'
hello/barfoogoo
答案 1 :(得分:0)
NoMethodError (undefined method `update' for nil:NilClass):
app/controllers/boat_steps_controller.rb:32:in `update'
中只有正则表达式的分隔符为awk
,但您可以像Avinash所示,搜索字符串/
。别无选择。