コロンより前のコンテンツを取得する

コロンより前のコンテンツを取得する

Linuxには、次の内容を含むテキストファイルがあります。

help.helloworld.com:latest.world.com
dev.helloworld.com:latest.world.com

次のようにコロンの前に内容をインポートしたいと思います。

help.helloworld.com
dev.helloworld.com

端末内でこれをどのように実行できますか?

答え1

これは以下のcutためのものです:

$ cat file
help.helloworld.com:latest.world.com
dev.helloworld.com:latest.world.com
foo:baz:bar
foo

$ cut -d: -f1 file
help.helloworld.com
dev.helloworld.com
foo
foo

区切り文字を:withに設定し-d:て最初のフィールド(-f1)のみを印刷するように指示するだけです。

答え2

または他のオプション:

$ grep -o '^[^:]*' file
help.helloworld.com
dev.helloworld.com

^コロン()を除いて、各行の先頭()から始まるすべての文字を返します[^:]*

答え3

間違いなくお勧めしますawk

awk -F ':' '{print $1}' file

フィールド区切り文字として使用され、:最初のフィールドを印刷します。

答え4

GNU grepが必要です。 macOSや他のBSDではデフォルトのgrepでは動作しません。

どういう意味ですか?

grep -oP '.*(?=:)' file

出力:

help.helloworld.com
dev.helloworld.com

関連情報