нужна помощь по сценарию оболочки для ожидаемого вывода

У меня есть входной файл с именемinput.txt так

powerOf|creating new file|failure
creatEd|new file creating|failure
powerAp|powerof server|failureof file

Я извлекаю текст до первой буквы в первом поле и сохраняю эти фрагменты вoutput.txt:

power
creat

Я использовалsed команда для разделения значений, и она работает нормально.

Из выходного файла output.txt), Мне необходимоgrep из первого поля, и вывод должен быть как ниже:

Power
power:powerOf|creating new file|failure,powerAp|powerof server|failureof file
creat
creat:creatEd|new file creating|failure

Я пробовал несколько способов, но не получил ожидаемого результата.

Я попробовал следующее, но получаю повторяющиеся записи:

cat input.txt | cut -d '|' f1 >> input1.txt
cat input1.txt | s/\([a-z]\)\([A-Z]\)/\1 \2/g >> output.txt
while read -r line;do
  echo $ line
  cat input.txt |cut -d ‘|’ f1|grep $line >> output1. txt
done< "output.txt"

У меня есть 20000 строк во входном файле. Я не знаю, почему я получаю дубликаты на выходе. Что я делаю не так

Ответы на вопрос(2)

Ваш ответ на вопрос