echo
に2つの変数を持つコードがあります。私はコード内にスペースが1つしかないのに、なぜ$NEXT
の前にスペースが表示されるのかわかりません。エコーが多すぎます
NEXT=$(find "${DIR}" -type f -name "*.$ext" | sed "s/.*\/\.//g" | sed "s/.*\///g" |
sed -n '/.*\..*/p' | wc -l)
echo "Files .$ext: $NEXT"
Files .tar: 1
echo
に2つの変数を持つコードがあります。私はコード内にスペースが1つしかないのに、なぜ$NEXT
の前にスペースが表示されるのかわかりません。エコーが多すぎます
NEXT=$(find "${DIR}" -type f -name "*.$ext" | sed "s/.*\/\.//g" | sed "s/.*\///g" |
sed -n '/.*\..*/p' | wc -l)
echo "Files .$ext: $NEXT"
Files .tar: 1
あなたfind
表現は、あなたがそれだと思う何をしていません。数字のの形式は、ディストリビューションのデフォルトのコンパイルオプションwc
に依存します。一般的に、情報がの場合、またはがからwc
にリダイレクトされた場合、返される値は先行する空白なしである必要があります。ただし、wc
のインストールがそのように機能する保証はありません。あなたはそれを試すことができ、結果を確認することができます。
ls "$HOME" | wc -l
値の前に空白が戻された場合 - 問題が見つかりました。
最後の行が出力であれば、表示されたコード以外の出力であるようです。あなたの出力は奇妙に見える場合は、各変数の周りに単一引用符を入れてみてください:
echo " Average file size .'$ext': '$AEXT'"
そのようにスペース(またはタブ)は、変数自身またはスクリプトから来ている場合、あなたは、知っているだろう。
NEXT=$(find "${DIR}" -type f -name "*.$ext" | sed "s/.*\/\.//g" | sed "s/.*\///g" |
sed -n '/.*\..*/p' | wc -l)
wc -l
にあなたパイプはあなたが数が残されている場合:
ヘルプが必要な場合は、すべての関連コードを入力する必要があります。 –
'$ NEXT'にはスペースが含まれているか、タブです。 – bishop
私の間違い...今それは問題ないはずです。 – user3463055