Bash (Mac): редактировать файл и некоторые команды if - PullRequest
0 голосов
/ 30 июля 2009

Я хочу, чтобы мой bash-скрипт делал следующее:

Находит файл, например: hello.txt

Поиск определенного текста в файле, например: эй

Если он найден, переходите к следующей вещи,

если он не найден, напишите текст в новой строке и переходите к следующему.

Кто-нибудь может дать мне сценарий для этого?

РЕДАКТИРОВАТЬ: Кроме того, я хотел бы сделать это больше раз подряд, чтобы сэкономить время было бы здорово!

1 Ответ

2 голосов
/ 30 июля 2009

Во-первых, в ответ на ваши комментарии:

Но я новичок в Bash, я сделал несколько уроков, и это помогло мне, но не объясняет, как это делать.

Тогда вы, вероятно, сделали неправильный урок. Руководство для начинающих Bash в TLDP должно быть в состоянии помочь вам.

я долго работал с партией (windows). Там мне нужен Сед для этого. Вам тоже понадобится специальный инструмент для 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
...

Остальное вы должны выяснить сами.

...