`
gelongmei
  • 浏览: 221778 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

综合使用sed awk 脚本 删除空行注释行

 
阅读更多
删除空行注释行
cat /data/conf/tinyproxy/tinyproxy.conf |sed '/^#.*/d'|sed '/^\s*$/d'

sed '/\/\//b; s/\<old\>/new/g' file

sed '/\/\//!s/\<old\>/new/g' file

seq  6000748 7666311|awk '{"cat uc"|getline s;print s;}'|awk 'BEGIN{start=6000748}{start++;gsub(/user_id/,start,$0);gsub(/fsmtestflyme/,"fsmtest"start,$0);print}'

sed 用例大全:
inux,其实也就是查看和修改配置文件的过程。
G6z^T)Pg&q Q15722752
刚开始接触linux,其实还是老实用vi来编辑文件,不过同样的过程重复多次,你就要想办法简化你的过程。sed绝对是一个好的命令或者工具,你不需要用vi打开文件就可以直接编辑。
H oH(n&C|15722752
sed的用法网上很多,我也没有看懂多少。现在就是会对着简单的例子来修改。不过这其实也够了。我也只需要一些简单的功能。IXPUB技术博客4E1Fay�o5o,p^s
1:注释掉某一行
$X�I
Cc�N1e2_15722752
这个经常会遇到的,把配置文件里某一行注释掉。让他不起作用。
%ghiZ)j)AE9~ G15722752
sed -i -e '121 s/^/#/' /usr/local/apache2/conf/httpd.confIXPUB技术博客q}|;?"|0j3}jg2X
上面一行命令的意思,就是把121行注释掉。
VF_{+nW15722752
sed -i -e '121 s/^/#/' -i -e '122 s/^/#/' /usr/local/apache2/conf/httpd.conf
J Mn:G u15722752
这个就是把121,122行注释掉。IXPUB技术博客b;i-QR0A�tT2mu~
2:把注释#去掉,让这行起作用IXPUB技术博客;n#W)K1ODr6wc@dx.T
sed -i 's/#ServerName
www.example.com:80/
ServerName
www.example.com:80/g'
/usr/local/apache2/conf/httpd.confIXPUB技术博客` F        j4}$Cp
这个命令就是把这行的#去掉。其实就是一个替换的过程,IXPUB技术博客 L?-Dd:a
3:在某行的位置插入一行IXPUB技术博客C&x[        E
{\!{8`~8O0m
如果只是在一个文档后面追加一行,那很简单。>> 就可以搞定。不过如果是在指定的某一行里插入。IXPUB技术博客/p@as.z8F
V
sed -i "8 s/^/alias vi='vim'/" /root/.bashrcIXPUB技术博客e/F%c/C+U V9Q
就是在第8行插入 alias vi='vim'
~)P7N$R        C9^T15722752
h2L5Tz$w"X3[8L(S15722752
J
u0D-EQ&k*Jr15722752
4:如何插入一行,包括特殊字符 /
c*O$l4F#p#tDivhX15722752
sed -i "58 s/^/AddType application\/x-httpd-php .php .phtml/" httpd.confIXPUB技术博客9V
^/^b�}#c M�J0nZ_
这样就让apache支持php,简单多了。
.@S3V no15722752
下面的用法还没有测试。改天测试
vDVO~1k%K&m,a15722752
Sed:IXPUB技术博客/kB6t-Jr(k
1、删除行首空格IXPUB技术博客s'Vr:K1m
   sed 's/^[ ]*//g' filenameIXPUB技术博客
j3V lw%x
kn2M{
   sed 's/^ *//g' filename
,fSm!~t!N15722752
   sed 's/^[[:space:]]*//g' filename
        ?o�DP8nP a15722752
2、行后和行前添加新行
7j6V0n3WS2Q,C*Dy
Q15722752
   行后:sed 's/pattern/&\n/g' filename
T.Eb
S"B15722752
   行前:sed 's/pattern/\n&/g' filename
*JNg#rf*_#I15722752
   &代表patternIXPUB技术博客)VJ\!J9r)h:g
c+q(A4u7y6Q
3、使用变量替换(使用双引号)IXPUB技术博客(V;dw2N^N*e&f
    sed -e "s/$var1/$var2/g" filename
l*bs/b\;oa�Y`5@15722752
4、在第一行前插入文本IXPUB技术博客#b-nE7L7N3r ^f
    sed -i '1 i\插入字符串' filename
:z"o` ~2?:xNkc15722752
5、在最后一行插入IXPUB技术博客1}        UMH,CQ
sed -i '$ a\插入字符串' filenameIXPUB技术博客f7x3x        iK.rc
6、在匹配行前插入IXPUB技术博客 o4k(A3lCUQ2B,H
    sed -i '/pattern/ i "插入字符串"' filenameIXPUB技术博客CC4P R e:YY
7、在匹配行后插入IXPUB技术博客1YU![EV eSUk
   sed -i '/pattern/ a "插入字符串"' filename
分享到:
评论

相关推荐

    sed、grep、awk的使用和简单Shell编程

    而`sed -e '/^\s*#/d' -e '/^\s*$/d' /etc/profile`则是删除所有注释行和空行。 awk是一种强大的文本分析工具,它的名称来源于其创始人Aho、Weinberger和Kernighan的首字母。`awk '/^[[:space:]]*#/' /etc/profile`...

    shell去掉文件中空行(空白行)的方法详解

    在`shell`中,我们经常使用`sed`来删除空行。例如: ``` cat filename | sed -e '/^$/d' &gt; filename2 ``` 这条命令会读取`filename`的内容,通过`sed`过滤掉所有空行(即只包含换行符的行),然后将结果重定向到...

    Advanced Bash-Scripting Guide <>

    从 C 文件中去掉注释 12-30. Exploring /usr/X11R6/bin 12-31. 一个"改进过"的 strings 命令 12-32. 在一个脚本中使用 cmp 来比较2 个文件. 12-33. basename 和 dirname 12-34. 检查文件完整性 12-35. Uudecod 编码...

    25个好用的Shell脚本常用命令分享

    `sed`则可以删除空行或去掉行首行尾的空格。 3. `sed` 命令的多种用法: 可以删除空行、替换空格,甚至去除注释行,方便对文本进行格式化或处理。 4. `pkill` 和 `kill`: `pkill` 根据指定条件发送信号给进程,例如...

    Linux高级bash编程

    从 C 文件中去掉注释 12-30. Exploring /usr/X11R6/bin 12-31. 一个"改进过"的 strings 命令 12-32. 在一个脚本中使用 cmp 来比较2个文件. 12-33. basename 和 dirname 12-34. 检查文件完整性 12-35. Uudecod 编码...

    shell编程参考

    2. 注释:以#开头的行被视为注释。 3. 使用适当缩进和空行提高代码可读性。 九、实用技巧 1. alias:创建命令别名,简化常用命令的输入。 2. history:查看和重用过去的命令历史。 3. grep、find、locate:快速搜索...

    shell经典代码(收藏)

    - **说明**: 使用`sed`或`awk`命令可以轻松地过滤掉文本文件中的空行。 - **应用场景**: 文本处理中去除不必要的空白行以提高文件可读性。 #### 11. 比较文件的修改时间 - **命令**: `[[ file1.txt -nt file2.txt ]...

Global site tag (gtag.js) - Google Analytics