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

Fersal спросил: 03 февраля 2018 в 09:54 в: bash

У меня много текстовых файлов, таких как File1, File2 и File3. , , File100

Каждый файл имеет один и тот же заголовок, например

>7:1234-5678
line 2
line 3
.
.

Каждый файл соответствует индивидууму, скажем

File1=Juan
File2=Pedro
File3=Carlos

Что я хочу сделать, так это добавить имя каждого пользователя в первую строку каждого файла. что-то вроде этого:

>Juan_7:1234-5678
line 2
line 3
.
.

Другими словами: у меня есть несколько текстовых файлов (File1 ... File100), у меня есть ключевой файл с этими именами файлов и именами (отдельными лицами), которых они принадлежит. Я хочу поместить эти имена (отдельных лиц) в первую строку каждого файла. Это имеет смысл теперь?

Я пробовал использовать следующий код, но, вероятно, это неправильно.

#!/bin/bash
File1="Juan";   File2="Pedro"; File3="Carlos"for i in {1..3}; do
 for file in ./*.txt; do
 eval datafile="\$File$i" 
 sed -i -e '1 s/7:/'"$datafile"'_7:/g' ./File"$1".txt
done
done

0 ответов