したい cat /proc/uptime
からcut -f1
Bashスクリプト内。
私はもう試した;
cat /proc/uptime | cut -f1
cat /proc/uptime > cut -f1
cut -f1 < cat /proc/uptime
これを実現するには、エコーなどを使用する必要がありますか?
cut
のデフォルトのフィールド区切り文字はタブです。ファイルには代わりにスペースがあるため、区切り文字を指定する必要があります。
-d ' '
そして、cat
やパイプを使用する必要はまったくありません。ファイルを直接読むだけです。
cut -f 1 -d ' ' /proc/uptime
_cat /proc/uptime | cut -f1 -d' '
_
は正しい
_< /proc/uptime cut -f1 -d' '
_
is correctであり、パイプを作成せずに_/proc/uptime
_から直接読み取るため、より効率的です(ここではあまり重要ではありません)。
一般に、フォーラムで2番目のフォームを使用することをお勧めします。そうしないと、「猫の無用な使用」と叫んだ後に純粋主義者が来るようになります。
_cut -f1 -d' ' < cat /proc/uptime
_
は間違ったです。それは同じです
_cut -f1 -d' ' /proc/uptime < cat
_
Bashを使用している場合は、<()
を使用することもできます。
_cut -f1 -d' ' < <(cat /proc/uptime)
_
これにより、読み取り用の匿名の名前付きパイプが作成され、_cat /proc/uptime
_の出力がパイプにパイプされます。しかし、再び、猫の無用な使用。
それ以外に、cut
はファイル引数を取ることもできるため、すべてのリダイレクトバージョンは_<
_なしでも機能します(効率的には問題になりません)。
_cut -f1 -d' '/proc/uptime
_
または<()パイプ:
_cut -f1 -d' ' <(cat /proc/uptime)
_
デフォルトでは、カットの区切り文字はTABですが、次のように空白に変更できます
cat /proc/uptime | cut -f1 -d " "
それらのケースでは、私はawkを使用することを好みますが:
cat /proc/uptime | awk '{print$1}'