大家好
我看不到我的错误,我想在字符串“t”中找到子字符串“searchstring”的位置
在我看过的几种方法中,这似乎最简单也最容易理解,但这只是挂起(两者)
awk 'match($t, "$searchstring")'
awk '{print match($t, "$searchstring")}'
Run Code Online (Sandbox Code Playgroud)
t ="MULTI: xyz/xxxx 的主要虚拟 IP:44595: 10.0.0.12"
搜索字符串 ="IP 为"
有什么建议?
大家好
这是一个菜鸟问题,但我似乎无法在任何地方找到答案。其他函数如 'cut' 或 'awk' 或 'sed' 总是被提及但从未使用字符串表达式函数(我认为它被称为)
string="hi this is a string.and.it has no purpose other than being here"
searchstring="and"
temp=${string#*$searchstring} # this means everything after "and" will be inserted into temp
echo $temp = "hi this is a string."
Run Code Online (Sandbox Code Playgroud)
但是说我想要“和”之前的所有内容,并使用与我用来获取临时变量结果相同的方法,因此我想要
echo $temp = ".it has no purpose other than being here"
Run Code Online (Sandbox Code Playgroud)
我试过了
temp=${string%*$searchstring} (as I understand, # is from front and % is back)
Run Code Online (Sandbox Code Playgroud)
但这仅返回未更改的字符串内容
还有,手册页,这个叫什么,这个字符串表达式函数,在哪里可以找到更深入的信息?
通常人们会下载一个 URL 以文件扩展名结尾的文件。
要下载 Ubuntu ISO,很简单
wget http://releases.ubuntu.com/14.04.3/ubuntu-14.04.3-desktop-amd64.iso
Run Code Online (Sandbox Code Playgroud)
但是,我遇到了一个我怀疑使用 ASP.Net / IIS 的站点。
ISO 的链接采用这种形式(我删除了链接内容以防万一……政策):
http://some.ip.in.here/website.com/IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899
Run Code Online (Sandbox Code Playgroud)
我不知道如何下载它,因为它有 MD5 和到期时间作为参数,所以 wget 只下载一个网页,而不是这个 ISO。
有什么建议?
让我直接跳进去。
我正在使用运行最新版本 raspbian(像素)的 raspberry pi 3 作为路由器/wifi 热点
我有 3 个无线接口:
每个接口的用途:
wpa_supplicant在interfaces文件)查看底部了解更多信息
问题:
这是一个经常出现的问题,我遇到过,使用 Raspberry Pi 的
我根本无法调出接口wlan0和wlan2,并且wlan2不会让步到/etc/network/interfaces.
我尝试了各种命令来调出这些界面,但都不起作用:
$ sudo ifdown wlan0
ifdown: interface wlan0 not configured
$ sudo ifup wlan0
RTNETLINK answers: File exists
Failed to …Run Code Online (Sandbox Code Playgroud) 经过一些 bash 自学和试验,我坚持从函数返回一个数组,并且我一生都看不到我的错误。
简而言之,这应该/必须做的是使用具有从文件中读取值/字符串的函数,返回一个数组:
在我看来,该函数似乎读取整个文件而不是逐行读取,从而将所有字符串放入数组中的单个单元格中,我不确定如何将 clients[0] 显式显示为 $(clients[0] ]) 在 bash 代码中失败
如果通过某种方式我做错了什么,也请指出这一点或任何关于优化这一点的建议
#!/bin/bash
readArray(){
local array=()
local i=0;
local j=0
while IFS= read -r LINE && [[ -n "$LINE" ]] ; do
array[$((i++))]+=${LINE}; # Append line to the array
((j++))
done < "$1";
rtr=${array[@]}
}
string="/home/cybex/openvpntest/openvpn.log"
declare -a clients
#sed -i '/^$/d' $string
clients=$(readArray "$string")
echo "${clients[@]}"
echo -e "array not empty, displaying array contents\n"
for i in "${!clients[@]}"; do
echo "$i: ${clients[$i]}"
done
echo -e …Run Code Online (Sandbox Code Playgroud)