SED删除线其余字符除了第一5(sed delete remaining characters in

2019-09-17 10:25发布

什么是sed命令来删除行中的所有字符,除了第5分领头的人,使用SED? 我试着对这个(恢复删除)会“倒退”,但它不是最完美的解决方案。

Answer 1:

这可能会为你工作(GNU SED):

echo '1234567890' | sed 's/.//6g'
12345

要么:

echo '1234567890' | cut -c-5
12345


Answer 2:

尝试这种(需要5次重复“任意”字符的在该行的开头,并保存该第一组中,然后采取任何数量的任意字符的重复,并替换匹配的字符串与第一组):

sed 's/^\(.\{5\}\).*/\1/'

或替代建议的mouviciel:

sed 's/^\(.....\).*/\1/'

(这是更具可读性只要你想不会增长太大第一字符数)



文章来源: sed delete remaining characters in line except first 5