小编pee*_*eet的帖子

使用 awk 进行提取和拆分

我正在尝试从 bash 的命令答案中使用 awk 提取子字符串

示例输出行: abc_def_ghi jkl_lmn_opq

获得第二部分很容易

echo abc_def_ghi jkl_lmn_opq | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)

但是我只需要最后一部分子字符串“opq”并且没有找到让 awk 在字符串上运行两次的方法,当我将结果从上面传递给 var 并使用这个 var 作为第二个 awk 我得到一个错误,因为字符串是一个路径,因此是一个目录。当在带有字符串的存储 var 上使用时,我也没有得到 sed 以处理相同的错误,并且我没有设法将第一个子字符串传递给第二个 awk 或 sed。奇怪的?

如果不是第一个 awk 会打印出来而不是传递给第二个 awk,这将完成工作

echo abc_def_ghi jkl_lmn_opq | awk '{print $2}' | awk -F"_" '{print $3}'
Run Code Online (Sandbox Code Playgroud)

两者都不起作用

echo abc_def_ghi jkl_lmn_opq | awk '{$2}' | awk -F"_" '{print $3}'
Run Code Online (Sandbox Code Playgroud)

我怎样才能通过它进行二次剥离?

string bash awk sed strip

8
推荐指数
1
解决办法
2万
查看次数

批处理脚本获取HTML网站和解析内容(没有wget,curl或其他外部应用程序)

我只需要使用Windows cmd功能.我需要来自网站的两个变量/字符串在batchscript中用于验证它的动作.为了不太简单,这个网站还需要进行身份验证.

我发现了这个地方:

@set @x=0 /*
:: ChkHTTP.cmd
@echo off
setlocal
set "URL=http://www.google.com"
cscript /nologo /e:jscript "%~f0" %URL% | find "200" > nul
if %ErrorLevel% EQU 0 (
echo Web server ok % Put your code here %
) else (
echo Web server error reported
)
goto :EOF

JScript */
var x=new ActiveXObject("Microsoft.XMLHTTP");
x.open("GET",WSH.Arguments(0));x.send();
while (x.ReadyState!=4) {WSH.Sleep(50)};
WSH.Echo(x.status)
Run Code Online (Sandbox Code Playgroud)

但我不确定是否有可能以这种方式获取网站内容而不是状态回答,而且我不知道如何实现网站认证.

上面的代码不能正常工作,因为它会因为管道而产生错误,但这似乎更接近我解析我希望的内容的需求.

curl wget batch-file html-parsing

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

awk ×1

bash ×1

batch-file ×1

curl ×1

html-parsing ×1

sed ×1

string ×1

strip ×1

wget ×1