|
[pre]
cat tmp.txt
123456789
123456789
123456789
# 删除每行第一个字符
sed 's/.//' tmp.txt
23456789
23456789
23456789
# 删除每行前两个字符,并保存到tmp2.txt
sed 's/..//' tmp.txt > tmp2.txt
3456789
3456789
3456789
# 删除每行前k个字符,例如k=5
sed 's/.\{5\}//' tmp.txt
6789
6789
6789
#删除每行开头的空格键和TAB键
sed 's/^[ \t]*//g'
#删除每行结尾的空格键和TAB键
sed 's/[ \t]*$//g'
#删除每行开头的空格
sed 's/^ *//' tmp.txt > tmp2.txt
#或sed 's/^[ ]*//' tmp.txt > tmp2.txt
#或sed 's/^[[:space:]]*//' tmp.txt > tmp2.txt
#删除空行
sed '/^$/d' tmp.txt
#在每行行首添加双引号"
sed 's/^/"&/g' tmp.txt
#在每行行尾添加双引号和逗号
sed 's/$/",&/g' tmp.txt
[[:space:]]表示空格或者TAB的集合
s表示替换命令
/asd/qwe/ 表示匹配asd,并写入qwe
g表示此行中替换所有的匹配
. 表示任何单个字符
*表示某个字符出现了0次或多次
^[ \t]表示以空格或者TAB键开头
^行首,/^#/ 以#开头的匹配
$行尾,/}$/ 以}结尾的匹配
[ ] 字符集合。 如:[abc]表示匹配a或b或c,还有[a-zA-Z]表示匹配所有的26个字符。如果其中有^表示反,如[^a]表示非a的字符
\< 表示词首。 如 \<abc 表示以 abc 为首的詞
\> 表示词尾。 如 abc\> 表示以 abc 結尾的詞
[/pre] |
|