私の要件は、出力行を複数行で表示することです
私のコードは次のとおりです
#!/bin/bash
dir="$1"
echo -n "file size:"
du="$(du $dir -hab | sort -n -r | tail -1)"
printf "%s\n" "echo "$du""
出力は次のように表示されます。
file size:echo 0
./.config/enchant/en_US.dic
私の予想結果は次のとおりです。
file size: 0
./.config/enchant/en_US.dic
上記のように表示する必要があります。パスは、タブスペースを含む新しい行から始める必要があります。
ベストアンサー1
以下では、heredocを使用してパイプの出力を分割し、シェルの組み込みprintfを使用してテキスト形式を指定します。
read -r a b <<EOF
$(du -hab "$dir" | sort -nr| tail -n 1)
EOF
printf "file size: %s\n%s\n" "$a" "$b"