我正在学习sed。一切似乎都很顺利,直到我遇到 N(接下来是多行)。我创建了这个文件 (guide.txt) 用于练习/理解/上下文目的。这是所述文件的内容...
This guide is meant to walk you through a day as a Network
Administrator. By the end, hopefully you will be better
equipped to perform your duties as a Network Administrator
and maybe even enjoy being a Network Administrator that much more.
Network Administrator
Network Administrator
I'm a Network Administrator
Run Code Online (Sandbox Code Playgroud)
所以我的目标是用“系统用户”替换“网络管理员”的所有实例。因为“网络管理员”的第一个实例由换行符 (\n) 分隔,我需要多行下一个运算符 (N) 来附加以“管理员”开头的行,前一行以“网络\n”结尾. 没问题。但我也想捕获所有其他“网络管理员”单行实例。
从我的研究中,我了解到我需要两个替换命令;一个用于换行符分隔的字符串,另一个用于其他字符串。此外,由于最后一行包含替换匹配和多行,因此发生了一些 jive。所以我制作这个...
$ sed '
> s/Network Administrator/System User/
> N
> s/Network\nAdministrator/System\nUser/
> ' guide.txt
Run Code Online (Sandbox Code Playgroud)
这将返回这些结果...
This guide is …
Run Code Online (Sandbox Code Playgroud) 我很难弄清楚这一点。据说,nmap
可以通过使用-sA
或 ACK 扫描来区分有状态防火墙和无状态防火墙,但我不知道如何从nmap
ACK 扫描的输出中辨别这一事实。
据我所知,nmap
将 ACK 标记的数据包发送到目标,目标将根据某些标准响应或不响应。
如果是这样,那么 \xc2\xb4nmap\xc2\xb4 将报告任何响应 RST 的端口为unfiltered,并将所有其他端口报告为filtered。这看起来像这样......(使用IPTABLES
具有无状态规则的防火墙)
$ sudo nmap -sA -T4 192.168.219.135\n\n\nStarting Nmap 7.12 ( https://nmap.org ) at 2016-06-28 16:35 EDT \nNmap scan report for metasploitable (192.168.219.135) \nHost is up (0.00027s latency). \nNot shown: 994 filtered ports \nPORT STATE SERVICE \n22/tcp unfiltered ssh \n25/tcp unfiltered smtp …
Run Code Online (Sandbox Code Playgroud) 所以,我试图在 bash 中创建一个菜单系统作为学习经验。我敢肯定有无数种方法,甚至是“更好”的方法来做到这一点,但我所拥有的是这样的......
echo "
2nd Menu
********
1) command
2) command
M) Main menu
X) Exit program
"
read -p "Choose option >" opt
if [ "$opt" -eq 1 ]; then
commands
elif [ "$opt" -eq 2 ]; then
commands
elif [[ "$opt" = [m,M] ]]; then
main #calls the function main()
elif [[ "$opt" = [x,X] ]]; then
exit
else
echo "Invalid option"
main
fi
Run Code Online (Sandbox Code Playgroud)
该脚本适用于除“X) 退出程序”之外的每个选项。当我运行“X”或“x”时,我收到此错误...
./acct-mgr.sh: line 10: [: x: integer expression expected
./acct-mgr.sh: line 12: …
Run Code Online (Sandbox Code Playgroud)