に行ごとのファイルおよびプリント1単語を読む:bashの:これまでのところ私のコードはこれですSTDOUT
#!/bin/bash
for word in $(<$1)
do
echo "$word"
done
含む入力ファイルとその(SP =スペース、TAB =タブとEOL - ラインの終わりに):
< SP>時間 < SP>ありが来る> < SP、 < TAB> < SP > < SP>セイウチ < SP> < SP> < SP> < SP><にSP、言った> < SP><のSP>多く < SPを話します>物: < EOL>
:
The
time
has
come,
the
Walrus
said,
to
speak
of
many
things:
私は言葉の機能と出力に私のプログラムを必要とするが空白またはTAB文字で囲まれた任意の文字列として定義されています。だから同じ入力を使用して、私のスクリプトを出力したい:
The
time
has
come,
the
Walrus
said,
to
speak
of
many
things:
どのように達成することができますか?
ありがとうございました!
あなたの出力の両方が既にブランクのシーケンスとして言葉を扱うように見えます/タブで区切られた文字ですが、2番目の出力にはカンマ付きの単語の後に1行または2行の空白行がありますが、どこにも言及されていません。明確にできますか? –
@ベンジャミンW。入力テキストからわかるように、 "said"と "to"の間には3つの空白があり、余分な空白があると出力に余分な空白ができることを意味します。それは私が知っている奇妙なことです、私は100%ではないが、このようにすべき理由はよくわかります – Swallows