私のbashスクリプトが次のことをしたい:
たとえば、hello.txt のようなファイルが見つかります。
ファイル内の特定のテキストを検索します。例: hey
見つかった場合は、次のことに進みます。
見つからない場合は、テキストを新しい行に書き、次の作業に進みます。
誰か私にこれのスクリプトを教えてもらえますか?
編集:また、これをさらに連続して実行したいので、時間を節約するのは素晴らしいことです!
まず、あなたのコメントへの返信として:
しかし、私は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
...
残りは自分で把握する必要があります。