Итак, у меня есть файл с содержимым, которое нужно использовать, и некоторые входные параметры в заголовке файла. Я хотел бы изменить входные данные, но сохранить содержимое прежним. Я также называю файлы на основе какой ввод используется. Например, скажем, у меня есть имя файла:
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 так что моя текущая попытка выглядит так с именем файла
#!/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
Теоретически я хотел бы изменить все эти поля в будущем, но пока я хотел бы просто упростить пример.
]Спасибо вам всем! Это мой первый пост, поэтому дайте мне знать, если у меня возникнут проблемы с форматированием