Вырезать имя файла и результат поиска с помощью grep из пути

К сожалению, вы не сможете увидеть их все. Вы должны были настроить это сразу после установки системы.

Здесь интерес представляют две переменные окружения, HISTSIZE и HISTFILESIZE. Первая управляет количеством команд, сохраненных для текущего сеанса. Второй определяет, сколько команд будет храниться в файле истории. Вы можете посмотреть, как они установлены в настоящее время:

echo "$HISTSIZE"  
echo "$HISTFILESIZE"

Вы можете определить их в вашем файле .bashrc (или в системном файле bashrc), добавив следующие строки:

HISTSIZE=[5000 seems to be a common default]
HISTFILESIZE=[large number of your choice]

Обратите внимание, что только HISTFILESIZE влияет на файл истории, а HISTSIZE - это только то, что хранится в списке истории для данной сессии.

Также проверьте этот ответ.

1
23.02.2017, 23:24
2 ответа

Большое спасибо Эду Невиллу. Как вы можете видеть ниже, он предложил передать переменной команду dirname. Вот окончательный код. Сценарий запрашивает ключевое слово, которое он использует для поиска в подкаталогах (в зависимости от того, куда вы поместили сценарий). Затем он захватывает путь к каталогу и игнорирует имя файла и перемещает каталог целиком туда, куда вы хотите, и спрашивает, хотите ли вы продолжить поиск ключевых слов и перемещать каталоги, пока вы не ответите «n», то есть нет.

#!/bin/bash
while true;
 do
  echo "Type in keyword & press enter..."
  read KEYWORD
  HERE=$(grep -i "$KEYWORD" */*/webvirtualmx)
  echo $HERE
  DIR=$(dirname "$HERE")
  ANSWER2="y";read -p "Do you want to move to old? y or n?" ANSWER2;
  if [ "$ANSWER2" = "y" ] && test -d "$DIR";
  #then mv -i -v $DIR /u1/OLD
  fi
  ANSWER="n";read -p "Do you have more keywords? y or n?" ANSWER;
    if [ "$ANSWER" = "n" ]
    then break
    fi
 done
0
27.01.2020, 23:46

Если $HERE содержит имя файла, то я думаю, что проще всего будет сделать следующее:

mv -i -v `dirname $HERE` /u1/OLD

Если вам нужна безопасность, вы можете сделать:

DIR=`dirname $HERE`
if test -d "$DIR"; then
  mv -i -v "$DIR" /u1/OLD
fi
1
27.01.2020, 23:46

Теги

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