use*_*172 7 sed character line
什么是sed命令删除除前5个前导字符之外的所有字符,使用sed?我已经尝试过'倒退'(恢复删除),但这不是最优雅的解决方案.
这可能适合你(GNU sed):
echo '1234567890' | sed 's/.//6g'
12345
Run Code Online (Sandbox Code Playgroud)
要么:
echo '1234567890' | cut -c-5
12345
Run Code Online (Sandbox Code Playgroud)
试试这个(在行开头重复 5 次“任意”字符,并将其保存在第一组中,然后重复任意次数的任意字符,并将匹配的字符串替换为第一组):
sed 's/^\(.\{5\}\).*/\1/'
Run Code Online (Sandbox Code Playgroud)
或者 mouviciel 建议的替代方案:
sed 's/^\(.....\).*/\1/'
Run Code Online (Sandbox Code Playgroud)
(只要您想要的第一个字符的数量不会变得太大,它就更具可读性)