Проверить, содержит ли файл определенный шаблон?

Существуют живые компакт-диски с разными вкусами. (= настольные компьютеры) XFCE среди них.

Главная страница https://www.debian.org/CD/live/

64-разрядная версия http://cdimage.debian.org/ debian-cd / current-live / amd64 / bt-hybrid /

Я не смог разместить больше ссылок, боюсь, отсутствие репутации. Но вы можете найти больше на главной странице.

1
03.10.2017, 10:16
2 ответа

во-первых, первая строка shebang - это не то, что вы хотите для своего сценария. Ожидайте, поскольку оболочка имеет ограниченное использование, и это не одно из них.

первая строка должна быть что-то вроде

#!/bin/bash

в вашем случае

, тогда

ps -ef > test.txt
grep -e fast -e apache test.txt

напечатает вам все строки, содержащие любое из этих слов.

или вы можете пропустить этап записи в файл и сделать его одной строкой:

ps -ef | grep -e fast -e apache 

РЕДАКТИРОВАТЬ для условной проверки:

ps -ef | grep -e fast -e apache | grep -v grep > dev/null; result=${?}
if [ ${result} -eq 0 ]
then
  echo "Found one or more occurrences of 'apache' and/or 'fast'"
else
  echo "Searched strings were not found"
fi
1
29.04.2021, 00:18

Вы можете объявить массив здесь

#!/bin/bash

string=('fast' 'apache')

ps -ef > test.txt

for i in "$string[@]"
do
    grep "$i" test.txt
done

Или вы можете сделать это прямо в строке ps , чтобы сохранить только эти процессы

#!/bin/bash

string=('fast' 'apache')

for i in "$string[@]"
do
    ps -ef | grep "$i" > ps_output_of_$i.txt
done

Попробуйте

0
29.04.2021, 00:18

Теги

Похожие вопросы