-1

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

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

它在文件中搜索特定文本,例如:嘿

如果找到了,继续下一步,

如果未找到,请将文本写在新行上并继续下一个。

谁能给我这个脚本?

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

4

1 回答 1

2

首先,回复您的评论:

但我是 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
...

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

于 2009-07-30T11:19:38.477 回答