各行の最初の部分をコロンで削除します。

各行の最初の部分をコロンで削除します。

だから最初のコロンまですべてを削除したいテキストファイルがあります。たとえば、これが入力の場合

0000007ba9ec6950086ce79a8f3a389db4235830:9515rfsvk
000000da2a12da3fbe01a95bddb8ee183c62b94d:letmein2x
000000edf3179a1cf4c354471a897ab7f420bd52:heychudi:rbhai
000000f636f0d7cbc963a62f3a1bc87c9c985a04:cornetti
0000010a15f5b9315ef8e113f139fa413d1f2eb2:3648067PY128

それからこれを出力する必要があります

9515rfsvk
letmein2x
heychudi:rbhai
cornetti
3648067PY128

3行目の2番目のコロンはそのまま残り、各行の先頭から最初の列までの位置のみを削除する必要があります。

grepまたはawkを使用してこれを行う簡単な方法はありますか?

答え1

そしてcut

cut -d: -f2- file

-d-f2-2番目のフィールドから最後のフィールドまでの区切り記号と平均を設定します。

答え2

sedを使用してください:

sed 's/[^:]*://' input.txt

つまり、ゼロ個以上の非コロン文字と、その後にコロンが続く順序を一致させ、何も置き換えません。

答え3

これはgrep(PCRE)と組み合わせて使用​​できます。

 grep -Po "(?<=:).*" file

出力:

9515rfsvk
letmein2x
heychudi:rbhai
cornetti
3648067PY128

答え4

最初の項目が:常にファイルの41番目の場所にある場合は、次のものを使用できます。

colrm 1 41 <file

または

cut -c42- file

列の位置を最初に決定する必要があるため、最も便利なオプションではありませんが、少なくとも区切り文字なしで動作します。

関連情報