我想用sed在第一之间的字符串替换任何AB和第一的发生AC(含)用XXX。
对于例如,我有这样的字符串(该字符串是仅用于测试):
ssABteAstACABnnACss
Run Code Online (Sandbox Code Playgroud)
我想类似这样的输出:ssXXXABnnACss。
我这样做了perl:
$ echo 'ssABteAstACABnnACss' | perl -pe 's/AB.*?AC/XXX/'
ssXXXABnnACss
Run Code Online (Sandbox Code Playgroud)
但我想用sed. 以下(使用 Perl 兼容的正则表达式)不起作用:
$ echo 'ssABteAstACABnnACss' | sed -re 's/AB.*?AC/XXX/'
ssXXXss
Run Code Online (Sandbox Code Playgroud) 在波斯数字中,??????????相当于0123456789在欧洲数字中。
如何将波斯数字( in UTF-8)转换为 ASCII?
例如,我想??成为21.
使用时
$ find . -name string~ -exec cp {} FOO \;
Run Code Online (Sandbox Code Playgroud)
有没有办法像我们通常使用 bash 子字符串那样使用{}inFOO删除波浪号字符
例如:
$ echo ${string%substring}
Run Code Online (Sandbox Code Playgroud)
我的目标是将名为 string~ 的文件复制到 string(与 相反$ find . -name string -exec cp {} {}~ \;)。
udp我编写了这条规则,将所有目标 IP 地址更改8.8.8.8为dport53:
iptables -t nat -A OUTPUT -p udp -m udp --dport 53 -j DNAT --to-destination 8.8.8.8
Run Code Online (Sandbox Code Playgroud)
当我使用以下规则时,该规则有效:
dig +short iranled.com @4.2.2.4
Run Code Online (Sandbox Code Playgroud)
tcpdump输出是:
04:42:38.023348 IP 192.168.1.2.48984 > 8.8.8.8.53: UDP, length 29
04:42:38.242241 IP 8.8.8.8.53 > 192.168.1.2.48984: UDP, length 45
Run Code Online (Sandbox Code Playgroud)
没关系。
但是当我从 中创建这个数据包时scapy,iptables规则没有结果!
sr1(IP(dst="4.2.2.4")/UDP()/DNS(rd=1,qd=DNSQR(qname="iranled.com")))
Run Code Online (Sandbox Code Playgroud)
tcpdump输出是:
04:43:00.442453 IP 192.168.1.2.53 > 4.2.2.4.53: UDP, length 29
04:43:00.855930 IP 4.2.2.4.53 > 192.168.1.2.53: UDP, length 45
Run Code Online (Sandbox Code Playgroud)
为什么数据包没有scapy被更改iptables?
更新:
#iptables …Run Code Online (Sandbox Code Playgroud) 我想问一下是否可以从终端翻译男人和男人的解释(意大利语)。例如,如果使用:
man cd
Run Code Online (Sandbox Code Playgroud)
我不想用英语运行,而是用意大利语打印。
我有以下字符串
echo -e "a12\x8fb12\x9f" | xxd
0000000: 6131 328f 6231 329f 0a a12.b12..
Run Code Online (Sandbox Code Playgroud)
并想删除序列12\x9f并12\x8f使用sed.
我可以用这个命令来做
sed -e 's_12\x8f__g' -e 's_12\x9f__g'
Run Code Online (Sandbox Code Playgroud)
但是为什么这个命令不起作用?
sed -e 's_12[\x8f\x9f]__g'
Run Code Online (Sandbox Code Playgroud) 我需要运行一个 curl 命令来访问另一个人拥有密码的网站。
例如
curl --basic --user myfriendsname:friendspassword http://www.updateinfo.com
我需要一种方法来启动这个脚本而不能看到我朋友的密码。
我刚刚了解到 ls 无法处理通配符(ls '*'不起作用),因此 shell 在 ls 被调用之前会这样做。因此,对于使用 unix 工作了 20 年的人来说,ls 的行为可能被认为是合乎逻辑的,对我来说不是,我也不会与 ls 保持一致。
我想要一个目录命令来扫描文件和目录,然后应用通配符过滤器。这样 als cr*就不会列出目录“cron.daily”中的文件。
我知道有ls -d,我做了一个alias lx=ls -lartd. 但后来我意识到,ls -d出于某种秘密原因,没有任何争论是行不通的。
有没有我可以安装的替代品?