ファイルの特定の行にテキストを挿入する方法は?使用できる最も簡単な方法は何ですか? ( bash
,,, sed
? awk
)
私がしたいことはおそらく簡単ですが、どこから始めるべきかわかりません。これを手動で実行するには時間がかかりすぎます(後でExcel / Calcで使用するために変更する必要があるファイルが多い)。
以下は私の入力ファイルの例です。
4.06
4.05
5.04
4.06
34.50
56.06
45.33
36.44
私は次のことをしたいと思います(1行と5行の前にテキストが挿入されています)。
Exp1
4.06
4.05
5.04
4.06
Exp2
34.50
56.06
45.33
36.44
どうすればいいですか?
ベストアンサー1
awk 'NR==1{print "Exp1"}NR==5{print "Exp2"}1' file
1つの結末はを意味します{print}
。
sed '1i\
Exp1
5i\
Exp2
' file
これをより多くの数に拡張するのはawk
簡単です。
awk 'NR%4==1{print "Exp"++i}1' file
数値が異なる場合は、sedがその作業に適したツールではないとします。可能ですが、きれいではありません。
学問的好奇心で、次のようにsedにあります。
sed '1{
h
s/^.*$/Exp0/
x
}
x
s/^4//
s/^3/4/
s/^2/3/
s/^1/2/
/^E/ {
s/$/|/
:x
s/0|/1/
s/1|/2/
s/2|/3/
s/3|/4/
s/4|/5/
s/5|/6/
s/6|/7/
s/7|/8/
s/8|/9/
s/9|/|0/
tx
s/^Exp|/Exp1/
p
s/^/1/
}
x' file