我希望我的 bash 脚本执行以下操作:
它会找到一个文件,例如:hello.txt
它在文件中搜索特定文本,例如:嘿
如果找到了,继续下一步,
如果未找到,请将文本写在新行上并继续下一个。
谁能给我这个脚本?
编辑:我也想连续多次这样做,所以节省时间会很棒!
首先,回复您的评论:
但我是 bash 的新手,我做了一些教程,它帮助了我,但它没有解释如何做这些事情。
那么你可能做错了教程。TLDP的Bash Beginners Guide应该能够为您提供帮助。
我确实使用批处理(Windows)工作了很长时间。为此我需要 sed。您是否也需要用于 bash 的特殊工具?
是的,但它们在大多数 Unix 系统(包括 Mac OS X,我猜)上都是标准的。
谁能给出答案?
因为我今天心情很好...
grep
用于搜索文件中的文本。
echo
和重定向 ( >
>>
<
|
) 在 Windows 中的工作方式与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
...
其余的你应该自己弄清楚。