grepコマンドがあります
grep -o 'ITEM+[^ ]*' "file.txt"
返される文字列は次のとおりです。
ITEM+12345678::hashtext_20191030::ITEM+87654321::hashmap_20191030::ITEM+12348765::hashvalue_20191001
したがって、切り取りコマンドを追加すると
grep -o 'ITEM+[^ ]*' "file.txt" | cut -c 5-12
結果は1つだけ得られます。
12345678
どうすれば次のような結果を作成できますか?
12345678
87654321
12348765
答え1
grep
空白文字が見つかるまで、1行、パターンの[^ ]*
一致、12345678::hashtext_20191030::ITEM+…
および残りの行のみを返します。ITEM+
andの後の数字だけを一致させるには、次のようにします。
grep -o 'ITEM+[^:]*' file.txt
または
grep -o 'ITEM+[0-9]*' file.txt
いくつかの結果が得られます。
あなたはすべての数字を取得する必要があります
grep -o 'ITEM+[^:]*' file.txt | cut -c 6-
行末までの6番目の文字を返します。