3

すべての行の最初の 6 文字をキャプチャするのに問題があります。text.txt 内に次の行があるとします。

this is a sentence
1234567890
string

最初の10文字を取得したい:

this i
123456
string

走ってみたgrep -Eo "^[a-zA-Z0-9]*{6}" text.txt

ただし、grep は、次の新しい行から開始するのではなく、6 番目ごとに正規表現をリサイクルします。最終的には次のように返されます。

this i
s a se
ntence
123456
7890..

ここで何が間違っていますか?

4

4 に答える 4

1

次のコマンドを使用します。

grep -Eo "^.{6}" text.txt

上記のコマンドは、6 文字未満の行を省略します。このような行を含めるには、次のコマンドを使用します。

grep -Eo "^.{1,6}" text.txt
于 2013-10-02T16:54:16.153 に答える
0

を使用したい場合はgrep、試してください

grep -Po "^.{6}" text.txt
于 2013-10-02T17:15:22.087 に答える