отладка метода завершения zsh

Как правило, Bash не следует использовать в качестве текстового процессора, но это должно решить вашу задачу, если не опубликованы лучшие решения:

#!/bin/bash

input=/path/to/input
output=/path/to/output

while read -r record; do
    if [[ "${record:0:1}" == 'H' ]]; then
        x=$(awk -vr=${record//[[:alpha:]]/} 'BEGIN{print r / 1}')
        echo "$record"
    elif [[ -z "$record" ]]; then
        echo
    else
        echo "${record}${x}"
    fi
done <"$input" >"$output"

Будет прочитан ваш ввод строка за строкой. Если запись начинается с H, она захватит число и разделит его на 1 (, чтобы удалить ведущие нули )и сохранить это в переменную x, а затем echoзапись для выходного файла. Если запись представляет собой пустую строку, на выходе будет просто echoпустая строка. Если запись не начинается с H, она будет echoс переменной xв конце.

1
25.08.2020, 22:09
0 ответов

Теги

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