Creative Saplings

ファイル列を選択するための10の実用的なLinuxカットコマンドの例

1月 9, 2021
No Comments

Linuxコマンドカットはテキスト処理に使用されます。このコマンドを使用すると、列を選択してファイルからテキストの一部を抽出できます。

このチュートリアルでは、日常のコマンドラインアクティビティで使用できるcutコマンドの実用的な例をいくつか紹介します。

ほとんどの例では、次のテストファイルを使用します。

$ cat test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.

文字の列を選択

ファイルから目的の列のみを抽出するには、-cオプションを使用します。次の例では、ファイルtest.txtの各行の2番目の文字を表示します。

$ cut -c2 test.txtaps

上記のように、文字a、p、sはtest.txtファイルの各行。

範囲を使用して文字の列を選択

文字の範囲は、-で区切られた開始位置と終了位置を指定することによってファイルから抽出することもできます。次の例では、test.txtというファイルから各行の最初の3文字を抽出します

$ cut -c1-3 test.txtcatcpls

開始位置または終了位置のいずれかを使用して文字の列を選択します

-cオプションを使用してカットコマンドに開始位置または終了位置のいずれかを渡すことができます。

以下は、「-」の前の開始位置のみを指定します。この例では、test.txtファイルの3文字目から各行の終わりまでを抽出します。

$ cut -c3- test.txtt command for file oriented operations. command for copy files or directories. command to list out files and directories with its attributes.

以下では、「-」の後の終了位置のみを指定しています。この例では、test.txtファイルから各行の先頭から8文字を抽出します。

$ cut -c-8 test.txtcat commcp commals comma

数値を指定しないと、行全体が印刷されます。以下に示すように、「-」の前後。

$ cut -c- test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.

ファイルから特定のフィールドを選択

x個の番号を選択する代わりに文字、フィールド全体を抽出したい場合は、オプション-fと-dを組み合わせることができます。オプション-fは抽出するフィールドを指定し、オプション-dは入力ファイルで使用されるフィールド区切り文字を指定します。

次の例では、/からの各行の最初のフィールドのみを表示します。フィールド区切り文字を使用したetc / passwdファイル:(コロン)。この場合、最初のフィールドはユーザー名です。ファイル

$ cut -d":" -f1 /etc/passwdrootdaemonbinsyssyncgamesbala

ファイルから複数のフィールドを選択

ファイルまたは標準出力から複数のフィールドを抽出することもできます。以下の例では、ログインシェルが「/ bin / bash」であるユーザーのユーザー名とホームディレクトリを表示します。

$ grep "/bin/bash" /etc/passwd | cut -d":" -f1,6root:/rootbala:/home/bala

フィールドの範囲を表示するには、開始フィールドを指定しますこの例では、フィールド1から4、6、7を選択しています。

$ grep "/bin/bash" /etc/passwd | cut -d":" -f1-4,6,7root:x:0:0:/root:/bin/bashbala:x:1000:1000:/home/bala:/bin/bash

行に区切り文字が含まれている場合にのみフィールドを選択します

/ etc / passwdの例では、:(コロン)以外の別の区切り文字を渡すと、cutは行全体を表示するだけです。

次の例では、区切り文字を|(パイプ)として指定しました。cutコマンドは、|(パイプ)が区切り文字として含まれている行が見つからない場合でも、行全体を表示するだけです。

$ grep "/bin/bash" /etc/passwd | cut -d"|" -f1root:x:0:0:root:/root:/bin/bashbala:x:1000:1000:bala,,,:/home/bala:/bin/bash

ただし、-sオプションを使用すると、指定した区切り文字を含む行のみをフィルタリングして表示できます。

次の例では、cutコマンドの場合とは異なり、出力は表示されません。 / etc / passwdファイルで区切り文字として|(パイプ)を含む行が見つかりません。

$ grep "/bin/bash" /etc/passwd | cut -d"|" -s -f1

指定されたフィールドを除くすべてのフィールドを選択

選択フィールドリストを補完するには、オプション–complementを使用します。

次の例は次のように表示されます。フィールド7を除く/ etc / passwdファイルのすべてのフィールド

$ grep "/bin/bash" /etc/passwd | cut -d":" --complement -s -f7root:x:0:0:root:/rootbala:x:1000:1000:bala,,,:/home/bala

表示用の出力区切り文字の変更

デフォルトでは、出力区切り文字は同じです。 cut-dオプションで指定する入力区切り文字として。

出力区切り文字を変更するには、以下に示すようにオプション–output-delimiterを使用します。この例では、入力区切り文字は:(コロン)ですが、出力区切り文字は#(ハッシュ)です。

$ grep "/bin/bash" /etc/passwd | cut -d":" -s -f1,6,7 --output-delimiter="#"root#/root#/bin/bashbala#/home/bala#/bin/bash

出力区切り文字を改行に変更

この例では、cutコマンド出力のすべてのフィールドが別々の行に表示されます。引き続き–output-delimiterを使用しましたが、値は$ ‘\ n’であり、出力区切り文字として改行を追加する必要があることを示しています。

$ grep bala /etc/passwd | cut -d":" -f1,6,7 --output-delimiter=$"\n"bala/home/bala/bin/bash

結合他のUnixコマンド出力でカット

カットコマンドの威力は、他のUnixコマンドの標準出力と組み合わせると実現できます。

カットコマンドの基本的な使用法をマスターしたら上で説明したように、cutコマンドを使用すると、テキスト操作の要件の多くを解決できます。

次の例は、psコマンドの出力から有用な情報のみを抽出する方法を示しています。また、最終出力がcutコマンドに渡される前に、grepとsedを使用してpsコマンドの出力をフィルタリングする方法も示しました。ここでは、上記の例で説明したカットオプション-dと-fを使用しました。

>コメントを追加

この記事を楽しんだら、気に入るかもしれません。

  1. 50 LinuxSysadminチュートリアル
  2. 50の最も頻繁に使用されるLinuxコマンド(例付き)
  3. トップ25のベストLinuxパフォーマンス監視およびデバッグツール
  4. ママ、見つけました! –15の実用的なLinux検索コマンドの例
  5. Linux 101 Hacks 2nd Edition eBook
  • Awkの紹介–7つのAwk印刷の例
  • 高度なSed置換の例
  • 8つの基本的なVimエディターナビゲーションの基礎
  • 25最も頻繁に使用されるLinuxIPTablesルールの例
  • 12個の強力なアドオンを備えたTurbochargePuTTY


Articles
Previous Post

40本のバラの引用

Next Post

テキストサイズの制御

コメントを残す コメントをキャンセル

最近の投稿

  • 世界で最高の写真学校、2020年
  • ソブリン市民が反政府哲学を道路に持ち込む
  • スタッコ修理費用ガイド
  • マックレーカー
  • Precision Oncology (日本語)

アーカイブ

  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.