列出一些sed的一些常用命令
#以distribted开头的行,行尾增加partitions default
sed -i 's/^distribute.*/& partitions default/g' 1671.sql
#删除包含特定字符行: 删除包含"xxx"的行
sed -i '/xxx/d' filename
#删除以 / 字符开头的行
sed -i '/^\//d' filename
#删除以 PARTITION "DMHASHPART 字符开头的行
sed -i '/^PARTITION "DMHASHPART/d' test.txt
#替换以 IPV6_AUTOCONF 开头的行
sed -i 's/^IPV6_AUTOCONF.*/IPV6_AUTOCONF=no/g' $file
#删除匹配行的上一行
sed -i -e '$!N;/\n.*) STORAGE(HASHPARTMAP(1), ON "TS_001", CLUSTERBTR)/!P;D' test.txt
#删除匹配行的下一行
sed -i -e '/PARTITION BY HASH/{n;d}' test.txt
#匹配的下一行内容替换
sed -i '/PARTITION BY HASH/{n;s/) //;}' test.txt
#删除指定字符串
sed -i 's/) STORAGE(HASHPARTMAP(1), ON "TS_001", CLUSTERBTR) //g' test.txt
#以 PARTITION BY HASH 开头的行,行尾增加partitions default
sed -i 's/^PARTITION BY HASH.*/& PARTITIONS DEFAULT/g' test.txt
#删除指定字符串前的内容,如删除CREATE TABLE前的内容
sed -i 's/.*CREATE TABLE/CREATE TABLE/g' test.txt
#替换指定字符串后的内容, 如删除CREATE TABLE前的内容
#正则替换
sed -i 's/STORAGE(ON "TS_[0-9][0-9][0-9]", CLUSTERBTR)//g' test.txt
#指定行前增加一行
sed -i '/^PARTITION/i\AAA' test.txt
#指定行后增加一行
sed -i '/^PARTITION/a\AAA' test.txt
#subpartition
#删除以 SUBPARTITIONS 80 字符开头的行
sed -i '/^SUBPARTITIONS 80/d' test.txt
#替换字符串
sed -i 's/SUBPARTITION TEMPLATE/SUBPARTITIONS DEFAULT/g' test.txt
#linux 文本格式转化
#windows文本转为linux文本
sed -i 's/\r//' row_1partition_6721
sed -i 's/$/\r/' row_2partition_848
文章
阅读量
获赞
