Вы можете попробовать что-то вроде (используя bash):
i=1
file="..." # replace the value by your file path
max="$(cat $file|wc -l)"
while read -r; do
if [[ $REPLY =~ ^[0-9]+ ]]; then
[[ $i -le $max ]] && echo "${REPLY} add $(head -n $i $file|tail -n 1)" || echo "${REPLY}"
(( i++ ))
else
echo "${REPLY}";
fi;
done < <(sizeFolder)
Конечно, есть много других решений (например, awk
).
Демо-версия:
$ cat test.txt
----------------------------
Fr 6. Jul 10:37:16 CEST 2018
----------------------------
;
PV Size /PV Name
;
3775 /usr
1805 /usr/share
1382 /usr/lib
384 /usr/src
176 /usr/bin
17 /usr/sbin
13 /usr/include
1 /usr/local
1 /usr/games
;
$ cat test2.txt
line1
line2
line3
$ i=1; while read -r; do if [[ $REPLY =~ ^[0-9]+ ]]; then [[ $i -le $(cat test2.txt|wc -l) ]] && echo "${REPLY} add $(head -n $i test2.txt|tail -n 1)" || echo "${REPLY}"; (( i++ )); else echo "${REPLY}"; fi; done < test.txt
----------------------------
Fr 6. Jul 10:37:16 CEST 2018
----------------------------
;
PV Size /PV Name
;
3775 /usr add line1
1805 /usr/share add line2
1382 /usr/lib add line3
384 /usr/src
176 /usr/bin
17 /usr/sbin
13 /usr/include
1 /usr/local
1 /usr/games
;
$