假设我在文本文件中有一个 URL 列表:
google.com/funny
unix.stackexchange.com/questions
isuckatunix.com/ireallydo
Run Code Online (Sandbox Code Playgroud)
我想删除“.com”之后的所有内容。
预期成绩:
google.com
unix.stackexchange.com
isuckatunix.com
Run Code Online (Sandbox Code Playgroud)
我试过
sed 's/.com*//' file.txt
Run Code Online (Sandbox Code Playgroud)
但它也删除.com
了。
我有一个生成一些输出的脚本。我想检查任何 IP 地址的输出,例如
159.143.23.12
134.12.178.131
124.143.12.132
if (IPs are found in <file>)
then // bunch of actions //
else // bunch of actions //
Run Code Online (Sandbox Code Playgroud)
是fgrep
个好主意吗?
我有 bash 可用。
假设我有一个 for in 循环:
for i in /apps/textfiles/*.txt
do
do something
done
Run Code Online (Sandbox Code Playgroud)
现在说我在/apps/textfiles/ 中有 50 个文件
将按什么顺序选取文件?
if [[ ${fin[2]} -eq OK && ${fin[7]} -eq NA ]]
then
echo "<tr id="green">" >> /tmp/mailt.txt
elif [[ ${fin[2]} -eq OK && ${fin[7]} -lt 0 ]]
then
echo "<tr id="yellow">" >> /tmp/mailt.txt
elif [[ ${fin[2]} -ne OK && ${fin[7]} -eq NA && $currDate2 -gt $expectedFinishTimes ]]
then
echo "<tr id="red">" >> /tmp/mailt.txt
elif [[ ${fin[2]} -ne OK && ${fin[7]} -eq NA && $currDate2 -lt $expectedFinishTimes ]]
then
echo "<tr id="white">" >> /tmp/mailt.txt
fi
Run Code Online (Sandbox Code Playgroud)
在上面,即使${fin[2]}
不等于 OK ,也只有第一个条件被评估为真。怎么了?
在脚本末尾删除 shell 脚本中使用的变量是否好。
rm -rf $abc
rm -rf $def
Run Code Online (Sandbox Code Playgroud)
或者
unset $abc
unset $def
Run Code Online (Sandbox Code Playgroud)
等等。
这实际上是一个好习惯吗?