Bash(Mac):编辑文件和一些if命令

时间:2009-07-30 10:31:26

标签: macos bash search text edit

我希望我的bash脚本执行以下操作:

找到一个文件,例如:hello.txt

它搜索文件中的特定文本,例如:hey

如果找到,继续下一步,

如果找不到,请在新行上写下文字&继续下一件事。

任何人都可以给我这个脚本吗?

编辑:我也想连续多次这样做,所以节省时间会很棒!

1 个答案:

答案 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
...

其余的你应该弄清楚自己。