このコマンドは、出力を改行文字で表示するのではなく、スペースで表示することを除いて、head に似ています。

このコマンドは、出力を改行文字で表示するのではなく、スペースで表示することを除いて、head に似ています。

head例:

Desktop:  
 λ df -h
Filesystem       Size   Used  Avail Capacity iused    ifree %iused  Mounted on
/dev/disk1s7s1  113Gi  8.9Gi  8.6Gi    51%  355384 90345720    0%   /
/dev/disk1s2    113Gi  3.3Gi  8.6Gi    28%    1743 90345720    0%   /System/Volumes/Preboot
/dev/disk1s4    113Gi   24Ki  8.6Gi     1%       5 90345720    0%   /System/Volumes/VM
/dev/disk1s6    113Gi   63Mi  8.6Gi     1%     660 90345720    0%   /System/Volumes/Update
/dev/disk1s5    113Gi   91Gi  8.6Gi    92%  655534 90345720    1%   /System/Volumes/Data
/dev/disk1s1    113Gi   64Ki  8.6Gi     1%      15 90345720    0%   /Volumes/mnbvcxz    - Data
/dev/disk3s1     58Gi   57Gi  843Mi    99%     209  8636800    0%   /Volumes/Untitled

Desktop:  
 λ df -h | head -n1
Filesystem       Size   Used  Avail Capacity iused    ifree %iused  Mounted on

改行の代わりにスペースでフィールドの出力を表示する特別なコマンドはありますか?

cmd はawkcmd の操作を実行します。

Filesystem       Size   Used  Avail Capacity iused    ifree %iused  Mounted on \ 
| awk -F ' ' '{print$1}'
Filesystem

ベストアンサー1

迷惑なことに、ギャップを壊さずに可変数のスペースで区切られた列範囲を抽出する標準コマンドはありません。

  • の場合、cut -d ' ' -f 1-2単一のスペースが区切り文字であるため、たとえば、、、、4" a b"つのフィールドがあります。""a""b
  • cut -c 1-4フィールド以外の文字だけを切り取ります。
  • awk '{print $1, $2}'デフォルトでは特殊な動作であるため、先行フィールドと末尾フィールドを無視し、複数のスペースで区切られたフィールドを抽出します。ただし、これらのフィールドは出力内の単一のFS=" "空白文字(デフォルト)で区切られています。OFS

GNUまたは互換方法を使用してフィールド間のスペースを維持しながら最初の$n(またはほとんどの)フィールドを抽出するには、次の方法を使用します。$ngrep

n=3
grep -Eo "^(\s*\S+){0,$n}"

(空行を捨てます)

このコマンドの出力はdfフィールド値自体にスペースを含めることができるため、この方法でデータを確実に抽出できるパターンに従わないようになりました。Mounted onヘッダーまたはいくつかのマウントポイントの例を参照してください。一部のフィールドは左揃えになり、一部のフィールドは右揃えになる方法も確認してください。この場合、フィールドの幅をハードコーディングせずにフィールドを抽出することは困難です(cut -c例:次を使用)。そのため、mlr --pprint cutここでは使用できません。

可能であれば、出力を生成するツールに必要な列だけを印刷するように指示するのが最善です。たとえば、GNU の実装では次のようにdf使用できます。

df -h --output=source,size,used

出力を後処理する必要がある場合は、解析可能な形式で出力するオプションを見つけます。あまり役に立ちませんが、出力を安定してdf後処理することはできません。-Pdf

Linuxでは、GNUが同じ情報を後処理可能に出力できる場合findmntlsblkstat -fdfオプションを参照-J無効なUTF-8文字列を含むJSONを処理する方法そして-cstat

おすすめ記事