マイbashコマンドは、これは私のコードAwkのスクリプト(bashの)に
{z=0
for(i=2;i<17;i++)
if ($i=="y")
z++
print $1 " " z}
ある
awk -f code.txt input.txt
ですこれは私の入力である
AaA y n y n y n n n y n n n n n y
BbB n y y n n n n n n n n n n n n
私の出力は
する必要がありますAaA 5
BbB 2
はまだそれが
AaA 4
BbB 2
コードをいじりの後、ラインの最後のシンボルを登録していないようです。
{z=0
for(i=2;i<18;i++)
print $i
print $1 " " z}
これを実行すると、すべてy/nが出力されるため、問題はif文のどこかにある必要があります。
これは私のhexダンプです: '00000000 41 61 41 20 79 20 6e 20 79 20 6e 20 79 20 6e 20 | AaA y n y n y n | 00000010 6e 20 6e 20 79 20 6e 20 6e 20 6e 20 6e 20 6e 20 | n n y n n n n n n | 00000020 79 0d 0a 42 62 42 20 6e 20 79 20 79 20 6e 20 6e | y..BbB n y y n n | 00000030 20 6e 20 6e 20 6e 20 6e 20 6e 20 6e 20 6e 20 6e | n n n n n n n n | * 00000044' –
ヘックスダンプを質問に貼り付け、コードとして書式を設定すると、読みやすくなります。 –
'0d 0a'が問題です。' 0a'しかないはずです。 'dos2unix input.txt'を使ってawkスクリプトをやり直してみてください。 – Cyrus