次の形式のファイルがあります。
B: that
I: White
I: House
B: the
I: emergency
I: rooms
B: trauma
I: centers
私がする必要があるのは、行が B で始まる場合、B: を削除して、上から行ごとに読み取ることです。I: で始まる場合、I: を削除し、前のものに接続します (前のものは同じ方法で処理されます)。ルール)。
期待される出力:
that White House
the emergency rooms
trauma centers
私が試したこと:
while read line
do
string=$line
echo $string | grep "B:" 1>/dev/null
if [ `echo $?` -eq 0 ] //if start with " B: "
then
$newstring= echo ${var:4} //cut first 4 characters which including B: and space
echo $string | grep "I:" 1>/dev/null
if [ `echo $?` -eq 0 ] //if start with " I: "
then
$newstring= echo ${var:4} //cut first 4 characters which including I: and space
done < file.txt
私が知らないのは、それを(ファイル内の)行に戻す方法と、その行を以前に処理された行に接続する方法です。