Bashスクリプトをcat /proc/uptime
開始したいです。cut -f1
私は努力しました。
cat /proc/uptime | cut -f1
cat /proc/uptime > cut -f1
cut -f1 < cat /proc/uptime
これを達成するには、echoまたは他のものを使用する必要がありますか?
答え1
デフォルトのフィールド区切り記号cut
はタブです。ファイルにスペースがあるため、区切り文字を指定する必要があります。
-d ' '
cat
そして実際にパイプをまったく使う必要はありません。ファイルを直接読んでください。
cut -f 1 -d ' ' /proc/uptime
答え2
cat /proc/uptime | cut -f1 -d' '
はい正しい
< /proc/uptime cut -f1 -d' '
はい正しいそしてパイプを作成せずに直接読み取るので、より効率的です/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)
答え3
デフォルトでは、カッティング区切り文字はTABであり、スペースに変更できます。
cat /proc/uptime | cut -f1 -d " "
この場合、awkを使用することをお勧めします。
cat /proc/uptime | awk '{print$1}'