linux 中如何匹配非空字符
001、\S:大写S
root@PC1:/home/test2# ls a.txt root@PC1:/home/test2# cat a.txt 33-16 CC CC GG TT GG TT GG TT CC 38-11 CC GG GG TT GG TT CC TT CC 4226 CC CC GG TT GG TT CC TT CC 4722 CC GG GG TT GG TT CG TT CC A188 AA CC GG TT GG TT CC TT CC A214N CC CC TT AA GG AA CC TT CC A239 AA CC TT TT AA AA CC TT CC A272 AA CC TT TT AA AA GG TT CC A441-5 CC CC GG TT GG TT CC TT CC A554 CC GG TT TT AA TT CC TT CC root@PC1:/home/test2# sed 's/^\S\+\t/QQ\t/' a.txt ## 匹配开头的连续的非空字符,替换为QQ + 制表符 QQ CC CC GG TT GG TT GG TT CC QQ CC GG GG TT GG TT CC TT CC QQ CC CC GG TT GG TT CC TT CC QQ CC GG GG TT GG TT CG TT CC QQ AA CC GG TT GG TT CC TT CC QQ CC CC TT AA GG AA CC TT CC QQ AA CC TT TT AA AA CC TT CC QQ AA CC TT TT AA AA GG TT CC QQ CC CC GG TT GG TT CC TT CC QQ CC GG TT TT AA TT CC TT CC
002、
root@PC1:/home/test2# ls a.txt root@PC1:/home/test2# cat a.txt 33-16 CC CC GG TT GG TT GG TT CC 38-11 CC GG GG TT GG TT CC TT CC 4226 CC CC GG TT GG TT CC TT CC 4722 CC GG GG TT GG TT CG TT CC A188 AA CC GG TT GG TT CC TT CC A214N CC CC TT AA GG AA CC TT CC A239 AA CC TT TT AA AA CC TT CC A272 AA CC TT TT AA AA GG TT CC A441-5 CC CC GG TT GG TT CC TT CC A554 CC GG TT TT AA TT CC TT CC root@PC1:/home/test2# sed 's/^[^[:space:]]\+\t/QQ\t/' a.txt ## [^[:space:]]表示非空字符 QQ CC CC GG TT GG TT GG TT CC QQ CC GG GG TT GG TT CC TT CC QQ CC CC GG TT GG TT CC TT CC QQ CC GG GG TT GG TT CG TT CC QQ AA CC GG TT GG TT CC TT CC QQ CC CC TT AA GG AA CC TT CC QQ AA CC TT TT AA AA CC TT CC QQ AA CC TT TT AA AA GG TT CC QQ CC CC GG TT GG TT CC TT CC QQ CC GG TT TT AA TT CC TT CC