私が見つけたウェブ上のさまざまな場所で:
\015
\012
\x0a - hex
\n
\r
さまざまな改行/改行の同義語としてすべて...
しかし、この小さなスクリプトでは、改行に遭遇したときに認識できません。誰かがif行でチェックする必要があることを誰かに教えてもらえますか?
#!/bin/bash
test="this is a
test"
for a in "$test"; do
if [[ "$a" == '\012' ]] ; then
echo "FOUND NEWLINE"
fi
echo "$a"
done
Stack Exchangeへようこそ。既存の回答が無意味になるため、この方法で質問を編集しないでください。問題を解決する方法を見つけたので、それを代替回答として投稿できます。
—
Gilles「SO-邪悪なことをやめなさい」
@nicerobotは、改行がまったくない場合は
—
Arcege
wc -l
0を返します。あなたはそれを答えとして追加する必要があります
@lolfrog解決策は質問に含めないでください。解決策のある答えをマークする必要があります
—
Arcege
cat | while read line; do ...; done
ずつ読み取ると、反復ごとに改行があったことがわかります。入力が\r
なしのファイルである場合は、入力の処理中\n
にファイルtr '\r' '\n'
を変換するだけです。:あなただけの複数の行があるかどうかを知る必要がある場合wc -l
。