Найти файл, соответствующий определенному шаблону, и присвоить это имя файла в качестве значения переменной в сценарии оболочки?

Для вашего варианта использования вам нужно только установить xauth (и его зависимости) на удаленном компьютере, а также нужные вам приложения. работать вместе со своими зависимостями. Например, для Eclipse вам понадобится только JDK без головы и сам Eclipse.

Вам не нужна среда рабочего стола или даже оконный менеджер, вы в конечном итоге будете использовать их эквиваленты в своей локальной системе (машине, на которой запущен X-сервер).

2
28.04.2017, 09:51
4 ответа

Наконец, после множества проб и ошибок я нашел решение:

cd $file_path && fVar=$(find -type f -name 'file-[0-9].[0-9].[0-9]-SNAPSHOT.txt');

echo $fVar    # output is like ./file-1.2.0-SNAPSHOT.txt

fT=${fVar:2}  # removing first two characters'./'

echo "$fT"    # output is file-1.2.0-SNAPSHOT.txt

Спасибо Ракеш за участие ваш ответ мне помог.

3
27.01.2020, 21:53

выбор происходит через опцию -name, а действие через опцию -exec.

find . -type f -name '*-[0-9].[0-9].[0-9]-SNAPSHOT.txt' -exec sh -c '
  file=$1
  # do what you want with $file as many times as you want
' {} {} \;
3
27.01.2020, 21:53

Допустим, ваш файл соответствует шаблону file-1.2.0-SNAPSHOT.txt, поэтому он может выглядеть как file-1.2.0-SNAPSHOT.txt или file-1.3.0- SNAPSHOT.txt или file-1.5.1-SNAPSHOT.txt и т. д., то вы можете получить файлы с помощью команды find следующим образом: -

find . -type f -iname "*SNAPSHOT.txt" 

Это даст вам все файлы, которые заканчиваются на SNAPSHOT.txt и затем вы можете использовать его для своей работы.

Точка(. ) в find может быть родительским каталогом, который должен содержать файл. Например,

find ~/my_files/ -type f -iname "*SNAPSHOT.txt" 
10
27.01.2020, 21:53

Я думаю, что вы пытаетесь скопировать только последнюю версию.

#!/bin/bash
oldlocation="/file_path/"
newlocation="/new_path/"

cd "$oldlocation"

#Get the last version
file="$(ls  *SNAPSHOT.txt | sort -V | tail -n1)"

cp -v "$file" "$newlocation" 
echo "Everything is ok"
3
27.01.2020, 21:53

Теги

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