tl;dr -GNU tar
умный
В старые добрые, недобрые старые времена вы должны были делать именно то, что вы говорите и употребляете -xzf
. В настоящее время tar
открывает архив, быстро просматривает его и, если содержимое выглядит сжатым, автоматически вызывает распаковку. Вот и все. Вы можете взглянуть на man tar
, чтобы узнать, какие алгоритмы сжатия он поддерживает.
Вы не дали нам ни малейшего представления о том, какую систему вы используете или что уже установлено. Так что это всего лишь обоснованное предположение. Многие дистрибутивы Linux поставляются с «python», и появление yaml означает, что библиотека «pyaml» также часто устанавливается. Сам факт, что вы сами взаимодействуете с файлами yaml, делает это более вероятным.
Это очень легко проверить. Создайте файл foo.py
, содержащий только:
import yaml
print("I have yaml")
Затем в командной строке запустите:
python3 foo.py
Если он просто печатает I have yaml
, значит, у вас установлены и python, и pyaml, и вы можете использовать их в тривиальном скрипте(update_script.py
):
import yaml
import sys
# Load the file into a data structure
with open(sys.argv[1], "r") as file:
content = yaml.safe_load(file)
# Update the key you want to change
content["search4"]["subsearch1"]["name"] = "new_name"
# Write the data structure back to your file in YAML
with open(sys.argv[1], "w") as file:
yaml.safe_dump(content, file)
Тогда просто беги:
python3 update_script.py config_file.yaml