cp file и переименовать его, основываясь на старом имени файла?

Итак, у меня есть файл с содержимым, которое нужно использовать, и некоторые входные параметры в заголовке файла. Я хотел бы изменить входные данные, но сохранить содержимое прежним. Я также называю файлы на основе какой ввод используется. Например, скажем, у меня есть имя файла:

input1-input2-input3

Я хотел бы скопировать этот файл и изменить input3 на input4 или что-то в этом роде, и я хочу, чтобы имя отражало это. У меня есть пытался написать простой сценарий bash, который выглядит следующим образом:

#!/bin/bash
#Inputs:{file to be copied} {solvent to change}
file=${1?No file given}
input3=${2?no input}

внесите некоторые изменения

cp file newfile

Интернет дал мне несколько советов по "внесению некоторых изменений", например е этот совет: http://www.peteryu.ca/tutorials/shellscripting/batch_rename так что моя текущая попытка выглядит так с именем файла

test-gs-xcf-Solvector.gjf

 #!/bin/bash
 
 #Inputs:{file to be copied} {solvent to change} 
 file=${1?No file given} 
 solvent=${2?no solvent given}
 
 
 filename=$(basename "$file" .gjf) ls -1 $file  | awk '{print("mv "$1 "" $1)}' | sed "s/solvent/$solvent/2" > rename_"$filename".txt 
 newfile=awk '{print $3}' rename_"$filename".txt 
 if [ -f "$newfile" ] 
 then
         echo "$newfile" > "$dir/newfile" 
 fi 
 cp "$file" "$newfile"

~

У меня это не сработало, потому что я думаю, что эта ссылка отвечает на другой вопрос.

Итак, у меня есть файл под названием:

input1-input2-input3

Я хотел бы написать сценарий bash, который будет выглядеть так:

.\bash.bash input1-input2-input3 input4

с выводом:

input1-input2-input4

Теоретически я хотел бы изменить все эти поля в будущем, но пока я хотел бы просто упростить пример.

]Спасибо вам всем! Это мой первый пост, поэтому дайте мне знать, если у меня возникнут проблемы с форматированием

1
задан 13 November 2020 в 13:26

0 ответов

Другие вопросы по тегам:

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