捕获每行的前n个字符

Pao*_*olo 1 regex grep

我在捕获每行的前6个字符时遇到麻烦。假设我在text.txt中包含以下几行:

this is a sentence
1234567890
string
Run Code Online (Sandbox Code Playgroud)

我想获得前10个字符:

this i
123456
string
Run Code Online (Sandbox Code Playgroud)

我试过跑步 grep -Eo "^[a-zA-Z0-9]*{6}" text.txt

但是grep会在第6个位置循环使用正则表达式,而不是从下一行开始。它最终返回:

this i
s a se
ntence
123456
7890..
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

anu*_*ava 5

为什么要使用grep,可以使用简单的cut命令:

cut -c1-6 file
Run Code Online (Sandbox Code Playgroud)

否则,此更复杂的sed也将起作用:

sed 's/^\(.\{6\}\).*$/\1/' file
Run Code Online (Sandbox Code Playgroud)