我希望我的bash脚本执行以下操作:
找到一个文件,例如:hello.txt
它搜索文件中的特定文本,例如:hey
如果找到,继续下一步,
如果找不到,请在新行上写下文字&继续下一件事。
任何人都可以给我这个脚本吗?
编辑:我也想连续多次这样做,所以节省时间会很棒!
答案 0 :(得分:2)
首先,回复你的意见:
但我是bash的新手,我做了一些教程,它帮了我,但它没有解释如何做这些东西。
然后你可能做错了教程。 TLDP的Bash Beginners Guide应该能够为您提供帮助。
我用批处理(windows)做了很长时间。在那里,我需要sed。你是否还需要一个特殊的工具来进行bash?
是的,但它们都是大多数Unix系统的标准配置(包括Mac OS X,我猜)。
任何人都可以给出答案吗?
因为我今天心情很好......
grep
用于搜索文件中的文字。
echo
和重定向(>
>>
<
|
)在bash
中的工作方式与在Windows中cmd.exe
相同所以你可能已经知道如何使用它们了。
#!/bin/bash
...
# The 'if ! grep ...' part is probably the hardest.
if ! grep "hey" "$filename" &> /dev/null; then
# "hey" was not found - use 'echo' to add it
fi
...
其余的你应该弄清楚自己。