удар не может найти команду mvn после установки

Похоже, что вы хотите grep по именам файлов, но если вы это сделаете:

find ./ -mindepth 1 -type f -mtime +60 -print0 | xargs -0 egrep -vZ 'vvv|iii'

xargs на самом деле представляет список файлов, выходящих из find в качестве аргумента к egrep.

Что нужно сделать, чтобы обработать вход, завершенный NUL (из -print0)

find ./ -mindepth 1 -type f -mtime +60 -print0 | xargs -0 grep -EvzZ 'vvv|iii'

(egrep является устаревшим, поэтому я изменил его на grep -E)

Из man grep:

   -z, --null-data
          Treat the input as a set of lines, each  terminated  by  a  zero
          byte  (the  ASCII NUL character) instead of a newline.  Like the
          -Z or --null option, this option can be used with commands  like
          sort -z to process arbitrary file names.

   -Z, --null
          Output  a  zero  byte  (the  ASCII NUL character) instead of the
          character that normally follows a file name. 

Итак, вам нужны оба -z и -Z

0
21.04.2015, 05:18
1 ответ

В приведенных вами инструкциях указано:

wget http://www.eng.lsu.edu/mirrors/apache/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.zip
unzip apache-maven-3.2.3-bin.zip
mv apache-maven-3.2.3/ /opt/maven

В результате /opt/maven/bin, /opt/maven/lib и др.

То, что вы сделали, немного отличается:

wget http://www.eng.lsu.edu/mirrors/apache/maven/maven-3/3.3.1/binaries/apache-maven-3.3.1-bin.zip
unzip apache-maven-3.3.1-bin.zip
mkdir /opt/maven
mv apache-maven-3.3.1/ /opt/maven

В результате /опт/мавэн/апаче-мавэн-3.3.1/бин, /опт/мавэн/апаче-мавэн-3.3.1/либ и т.д. и т.п.

При выполнении mv x /y/z, где x - каталог, могут произойти три разные вещи:

  • если /y/z еще не существует, то все дерево, корни которого находятся в x, переносится в /y/z.
  • если /y/z уже существует и является каталогом, то дерево перемещается в /y/z/x.
  • если /y/z уже существует и не является каталогом, то mv выдаст сообщение об ошибке и ничего не сдвинет.
2
28.01.2020, 02:36

Теги

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