zoukankan      html  css  js  c++  java
  • Linux sed使用方法

    目录


    1. sed处理流程
    2. 测试数据
    3. sed命令格式
    4. sed命令行格式
    5. 行定位
      1. 定位1行
      2. 定位区间行(多行)
      3. 定位某一行之外的行
      4. 定位有跨度的行
    6. 操作命令
      1. -a (新增行)
      2. -i(插入行)
      3. -c(替代行)
      4. -d(删除行)
      5. -s(替换行中的部分内容)
    7. sed使用案例
    8. 高级sed操作
      1. { }多个sed命令
      2. {n;p}跳行打印
      3. &单一反向引用
      4. -r 复制指定文件,插入到匹配行
      5. -w  复制匹配行,拷贝到指定文件中
      6. -q 退出sed
      7. (  ) 多个反向引用

    处理流程

      sed(流处理编辑器),处理文本的过程如下:

      1、从文本或者管道中读入一行内容到模式空间(临时缓冲区)

      2、使用sed命令处理,重复第1步,直到文件处理完毕

      3、输出到屏幕

      注意两点:

      1、sed一次处理一行的内容

      2、sed默认的不改变文件内容

     

    测试数据

      

    [root@localhost test]# cat -n data.txt
         1  小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
         3  花花        女  30  HeBei           China
         4  Jane        女  29  Los Angeles     America
         5  Maecheal    男  30  Washington      America
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    

      

    使用sed的格式

      命令行格式:将包含sed的命令写在命令行中执行

    $ sed [options] 'command' files
    

      

      脚本格式:将sed的命令写在一个脚本中,然后执行的时候,指定sed脚本的路径即可

    $ sed -f scriptfile files
    

      上面这两个命令中,files都是要进行处理的文件。

    命令行格式

    $sed [options] 'command' files
    

      options可以使用下面这几个值:

        -e:可以指定多个command

        -n:与p(print)命令合用时,表示只显示被选中的行,而不是显示所有的行,然后被选中的行会显示两次。

        -i:将sed的操作结果更新到文件中,因为默认的是不会操作文件本身的。

      command:行定位(正则)+ sed命令,首先会通过正则行定位,选中要进行操作的行,然后执行sed命令

    行定位

      选择1行,可以使用两种方式:

        1、n;    选中1行,n表示行号

        2、/pattern/  使用正则表达式,注意要包含在/..../之间

    [root@localhost test]# #打印第5行
    [root@localhost test]# sed -n "5 p" data.txt
    Maecheal    男  30  Washington      America
    
    [root@localhost test]# #打印匹配"China"的记录
    [root@localhost test]# sed -n "/china/ p" data.txt
    [root@localhost test]# sed -n "/China/ p" data.txt
    小红        女  20  BeiJing         China
    小明        男  22  ChongQing       China
    花花        女  30  HeBei           China
    

      

      选择多行,同样有两种方式:

        1、x,y;    选中行号在x~y之间的行

        2、/pattern1/, /pattern2/    选择匹配两个正则表达式之间的行

    [root@localhost test]# #打印第3~6行
    [root@localhost test]# cat -n data.txt | sed -n "3,6 p"
         3  花花        女  30  HeBei           China
         4  Jane        女  29  Los Angeles     America
         5  Maecheal    男  30  Washington      America
         6  山本        男  25  Nagasaki        Japan
    
    [root@localhost test]# #打印“Jane”的行,到“贝爷”之间的行
    [root@localhost test]# sed -n "/Jane/, /贝爷/ p" data.txt
    Jane        女  29  Los Angeles     America
    Maecheal    男  30  Washington      America
    山本        男  25  Nagasaki        Japan
    村上春树    男  40  Hiroshima       Japan
    贝爷        男  35  Paris           Franch
    

        

      不选择某一行或者某几行

        在后面加 ! 即可

    [root@localhost test]# #打印除了第4行以外的所有行
    [root@localhost test]# cat -n data.txt | sed -n "4! p"
         1  小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
         3  花花        女  30  HeBei           China
         5  Maecheal    男  30  Washington      America
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    
    [root@localhost test]# #打印除3-7行之外的行
    [root@localhost test]# cat -n data.txt | sed -n "3,7! p"
         1 小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
         8  贝爷        男  35  Paris           Franch
    

       

      间隔几行选择

        使用x~y格式,首先打印第x行,然后每个y行,就打印一次

    [root@localhost test]# #打印第3行,之后,每隔2行,就打印一次
    [root@localhost test]# cat -n data.txt | sed -n "3~2 p"
         3  花花        女  30  HeBei           China
         5  Maecheal    男  30  Washington      America
         7  村上春树    男  40  Hiroshima       Japan
    

      

    操作命令

      sed有几个基本的操作命令,分别是下面几个:

      1、-a (append,添加,在行后追加)

      2、-i(insert,插入,在行前插入)

      3、-d(delete,删除行)

      4、-c(chage,替换)

      5、-s(subsitute,替换)

    -a 增加行

      

    [root@localhost test]# #在第3行后面增加一行“---------------”
    [root@localhost test]# cat -n data.txt | sed "3a -------------"
         1  小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
         3  花花        女  30  HeBei           China
    -------------
         4  Jane        女  29  Los Angeles     America
         5  Maecheal    男  30  Washington      America
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    
         
    [root@localhost test]# #在3~5行的每一行后面加一行“==========”
    [root@localhost test]# cat -n data.txt | sed "3,5a =========="
         1  小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
         3  花花        女  30  HeBei           China
    ==========
         4  Jane        女  29  Los Angeles     America
    ==========
         5  Maecheal    男  30  Washington      America
    ==========
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    
    
    [root@localhost test]# #在每一行后面增加一行“===========”
    [root@localhost test]# cat -n data.txt | sed "a =========="
         1  小红        女  20  BeiJing         China
    ==========
         2  小明        男  22  ChongQing       China
    ==========
         3  花花        女  30  HeBei           China
    ==========
         4  Jane        女  29  Los Angeles     America
    ==========
         5  Maecheal    男  30  Washington      America
    ==========
         6  山本        男  25  Nagasaki        Japan
    ==========
         7  村上春树    男  40  Hiroshima       Japan
    ==========
         8  贝爷        男  35  Paris           Franch
    ==========
    
    [root@localhost test]# #在行末增加一行“-------------------”
    [root@localhost test]# sed '$a -------------------------' data.txt
    小红        女  20  BeiJing         China
    小明        男  22  ChongQing       China
    花花        女  30  HeBei           China
    Jane        女  29  Los Angeles     America
    Maecheal    男  30  Washington      America
    山本        男  25  Nagasaki        Japan
    村上春树    男  40  Hiroshima       Japan
    贝爷        男  35  Paris           Franch
    -------------------------
    

      

    -i 插入行

      -i插入行和增加行的操作一样,区别是a是在行之后增加,i是在行之前插入

    [root@localhost test]# #在第3行之前增加一行“---------------”
    [root@localhost test]# cat -n data.txt | sed "3i --------------"
         1  小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
    --------------
         3  花花        女  30  HeBei           China
         4  Jane        女  29  Los Angeles     America
         5  Maecheal    男  30  Washington      America
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    
    [root@localhost test]# #在第3~5行的每一行之前插入一行"==========="
    [root@localhost test]# cat -n data.txt | sed "3,5i ==========="
         1  小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
    ===========
         3  花花        女  30  HeBei           China
    ===========
         4  Jane        女  29  Los Angeles     America
    ===========
         5  Maecheal    男  30  Washington      America
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    [root@localhost test]# #在每一行之前插入一行"==========="
    [root@localhost test]# cat -n data.txt | sed "i ==========="
    ===========
         1  小红        女  20  BeiJing         China
    ===========
         2  小明        男  22  ChongQing       China
    ===========
         3  花花        女  30  HeBei           China
    ===========
         4  Jane        女  29  Los Angeles     America
    ===========
         5  Maecheal    男  30  Washington      America
    ===========
         6  山本        男  25  Nagasaki        Japan
    ===========
         7  村上春树    男  40  Hiroshima       Japan
    ===========
         8  贝爷        男  35  Paris           Franch
    

      

    -c 替换行

      替换行,是指,将指定行,整行内容都替换为指定内容,注意-s是指替换行中的一部分内容。

      注意,区间替换的时候,是整体替换,而不是逐行替换。

    [root@localhost test]# #将第2行替换为"hello shell"
    [root@localhost test]# cat -n data.txt | sed "2c hello world"
         1  小红        女  20  BeiJing         China
    hello world
         3  花花        女  30  HeBei           China
         4  Jane        女  29  Los Angeles     America
         5  Maecheal    男  30  Washington      America
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    
    [root@localhost test]# #尝试将第2~5行的每一行都替换为"hello world",但是实际操作后会将2-5行整体替换
    [root@localhost test]# cat -n data.txt | sed "2,5c hello world"
         1  小红        女  20  BeiJing         China
    hello world
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    
    [root@localhost test]# #将每一行都替换为“hello world”
    [root@localhost test]# cat -n data.txt | sed "c hello world"
    hello world
    hello world
    hello world
    hello world
    hello world
    hello world
    hello world
    hello world
    

      

    -d 删除行

    [root@localhost test]# #删除第4行
    [root@localhost test]# cat -n data.txt | sed "4d"
         1  小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
         3  花花        女  30  HeBei           China
         5  Maecheal    男  30  Washington      America
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    
    [root@localhost test]# #删除第4-6行
    [root@localhost test]# cat -n data.txt | sed "4,6d"
         1  小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
         3  花花        女  30  HeBei           China
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    
    [root@localhost test]# #删除所有行(无意义)
    [root@localhost test]# cat -n data.txt | sed "d"
    

      

    -s 替换行的部分内容

    [root@localhost test]# #将字符a替换为X
    [root@localhost test]# sed 's/a/X/' data.txt
    小红        女  20  BeiJing         ChinX
    小明        男  22  ChongQing       ChinX
    花花        女  30  HeBei           ChinX
    JXne        女  29  Los Angeles     America
    MXecheal    男  30  Washington      America
    山本        男  25  NXgasaki        Japan
    村上春树    男  40  HiroshimX       Japan
    贝爷        男  35  PXris           Franch
    

      注意,在替换的时候,只替换了一次,即只替换第一个匹配的内容。如果要将满足条件的内容都替换,就需要加上g

    [root@localhost test]# sed 's/a/X/g' data.txt
    小红        女  20  BeiJing         ChinX
    小明        男  22  ChongQing       ChinX
    花花        女  30  HeBei           ChinX
    JXne        女  29  Los Angeles     AmericX
    MXecheXl    男  30  WXshington      AmericX
    山本        男  25  NXgXsXki        JXpXn
    村上春树    男  40  HiroshimX       JXpXn
    贝爷        男  35  PXris           FrXnch
    

       

    sed使用案例

      1、在data文件的第8行下面增加一行“hello world”,并且hello world前面要有4个空格

    [root@localhost test]# #测试1,直接输入4个空格,失败
    [root@localhost test]# sed '8 a     hello world' data.txt
    小红        女  20  BeiJing         China
    小明        男  22  ChongQing       China
    花花        女  30  HeBei           China
    Jane        女  29  Los Angeles     America
    Maecheal    男  30  Washington      America
    山本        男  25  Nagasaki        Japan
    村上春树    男  40  Hiroshima       Japan
    贝爷        男  35  Paris           Franch
    hello world
    
    [root@localhost test]# #测试2,使用反斜线转义,成功
    [root@localhost test]# sed '8 a     hello world' data.txt
    小红        女  20  BeiJing         China
    小明        男  22  ChongQing       China
    花花        女  30  HeBei           China
    Jane        女  29  Los Angeles     America
    Maecheal    男  30  Washington      America
    山本        男  25  Nagasaki        Japan
    村上春树    男  40  Hiroshima       Japan
    贝爷        男  35  Paris           Franch
        hello world
    

      

      2、删除demo.txt文件中的空行

    [root@localhost test]# cat demo.txt
    111111
    
    22222
    
    333333
    44444
    [root@localhost test]# sed '/^$/ d' demo.txt
    111111
    22222
    333333
    44444
    

      

      3、获取eth0网卡的ip

    [root@localhost test]# ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr 00:0C:29:21:0C:0F
              inet addr:192.168.228.153  Bcast:192.168.228.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fe21:c0f/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:27644 errors:0 dropped:0 overruns:0 frame:0
              TX packets:14175 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:22947297 (21.8 MiB)  TX bytes:1135056 (1.0 MiB)
    
    [root@localhost test]# ifconfig eth0 | sed -n '/inet addr:/ p'
              inet addr:192.168.228.153  Bcast:192.168.228.255  Mask:255.255.255.0
    
    [root@localhost test]# ifconfig eth0 | sed -n '/inet addr:/ p' | sed 's/.*inet addr://'
    192.168.228.153  Bcast:192.168.228.255  Mask:255.255.255.0
    
    [root@localhost test]# ifconfig eth0 | sed -n '/inet addr:/ p' | sed 's/.*inet addr://' | sed 's/B.*$//'
    192.168.228.153
    

      

    高级sed操作

      包括以下内容:

        1、{command1; command2; command 3}多个sed命令,使用“;”分开

        2、n表示跳1行

        3、&表示前面已经匹配的字符串内容,反向引用,不用再写一次正则表达式

          

    多个sed命令

      使用花括号{   }将多个sed命令包含在一起,多个sed之间用;分开

    [root@localhost test]# cat -n data.txt
         1  小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
         3  花花        女  30  HeBei           China
         4  Jane        女  29  Los Angeles     America
         5  Maecheal    男  30  Washington      America
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    [root@localhost test]# cat -n data.txt | sed '{3,5 d; s/China/Chinese/}'
         1  小红        女  20  BeiJing         Chinese
         2  小明        男  22  ChongQing       Chinese
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    

      

    跳行

      打印奇数行和偶数行

    [root@localhost test]# #打印奇数行
    [root@localhost test]# cat -n data.txt | sed -n '1~2 p'
         1  小红        女  20  BeiJing         China
         3  花花        女  30  HeBei           China
         5  Maecheal    男  30  Washington      America
         7  村上春树    男  40  Hiroshima       Japan
    [root@localhost test]# cat -n data.txt | sed -n '{p; n}'
         1  小红        女  20  BeiJing         China
         3  花花        女  30  HeBei           China
         5  Maecheal    男  30  Washington      America
         7  村上春树    男  40  Hiroshima       Japan
    [root@localhost test]#
    [root@localhost test]# #打印偶数行
    [root@localhost test]# cat -n data.txt | sed -n '2~2 p'
         2  小明        男  22  ChongQing       China
         4  Jane        女  29  Los Angeles     America
         6  山本        男  25  Nagasaki        Japan
         8  贝爷        男  35  Paris           Franch
    [root@localhost test]# cat -n data.txt | sed -n '{n; p}'
         2  小明        男  22  ChongQing       China
         4  Jane        女  29  Los Angeles     America
         6  山本        男  25  Nagasaki        Japan
         8  贝爷        男  35  Paris           Franch
    

      可以使用多个n来进行跳过

    &反向引用

      &表示前面已经匹配的字符串内容,反向引用,不用再写一次正则表达式

      在男或者女之前加一个gender单词

    [root@localhost test]# cat -n data.txt | sed 's/[男|女]/gender:[男|女]/'
         1  小红        gender:[男|女]  20  BeiJing         China
         2  小明        gender:[男|女]  22  ChongQing       China
         3  花花        gender:[男|女]  30  HeBei           China
         4  Jane        gender:[男|女]  29  Los Angeles     America
         5  Maecheal    gender:[男|女]  30  Washington      America
         6  山本        gender:[男|女]  25  Nagasaki        Japan
         7  村上春树    gender:[男|女]  40  Hiroshima       Japan
         8  贝爷        gender:[男|女]  35  Paris           Franch
    [root@localhost test]# cat -n data.txt | sed 's/[男|女]/gender:&/'
         1  小红        gender:女  20  BeiJing         China
         2  小明        gender:男  22  ChongQing       China
         3  花花        gender:女  30  HeBei           China
         4  Jane        gender:女  29  Los Angeles     America
         5  Maecheal    gender:男  30  Washington      America
         6  山本        gender:男  25  Nagasaki        Japan
         7  村上春树    gender:男  40  Hiroshima       Japan
         8  贝爷        gender:男  35  Paris           Franch
    

      

      案例1:将data.txt中的所有字母都变为大写

    [root@localhost test]# cat -n data.txt
         1  小红        女  20  BeiJing         China
         2  小明        男  22  ChongQing       China
         3  花花        女  30  HeBei           China
         4  Jane        女  29  Los Angeles     America
         5  Maecheal    男  30  Washington      America
         6  山本        男  25  Nagasaki        Japan
         7  村上春树    男  40  Hiroshima       Japan
         8  贝爷        男  35  Paris           Franch
    [root@localhost test]# cat -n data.txt | sed 's/[A-Z]/l&/g'
         1  小红        女  20  beijing         china
         2  小明        男  22  chongqing       china
         3  花花        女  30  hebei           china
         4  jane        女  29  los angeles     america
         5  maecheal    男  30  washington      america
         6  山本        男  25  nagasaki        japan
         7  村上春树    男  40  hiroshima       japan
         8  贝爷        男  35  paris           franch
    [root@localhost test]# cat -n data.txt | sed 's/[a-z]/u&/g'
         1  小红        女  20  BEIJING         CHINA
         2  小明        男  22  CHONGQING       CHINA
         3  花花        女  30  HEBEI           CHINA
         4  JANE        女  29  LOS ANGELES     AMERICA
         5  MAECHEAL    男  30  WASHINGTON      AMERICA
         6  山本        男  25  NAGASAKI        JAPAN
         7  村上春树    男  40  HIROSHIMA       JAPAN
         8  贝爷        男  35  PARIS           FRANCH
    

    -r 复制指定文件插入到匹配行

    [root@localhost test]# cat A.txt
    111111
    222222
    333333
    [root@localhost test]# cat B.txt
    AAAAAAA
    BBBBBBB
    CCCCCCC
    

      

      将A.txt中的内容,插入到B.txt的第2行后面

    [root@localhost test]# #将A.txt中的内容插入到B.txt中的第2行后面
    [root@localhost test]# sed '2 r A.txt' B.txt
    AAAAAAA
    BBBBBBB
    111111
    222222
    333333
    CCCCCCC
    [root@localhost test]# #将A.txt中的内容插入到B.txt中包含CCCCCC的行后面
    [root@localhost test]# sed '/CCCCCC/ r A.txt' B.txt
    AAAAAAA
    BBBBBBB
    CCCCCCC
    111111
    222222
    333333
    [root@localhost test]# #将A.txt中的内容插入B.txt中每一行的后面
    [root@localhost test]# sed 'r A.txt' B.txt
    AAAAAAA
    111111
    222222
    333333
    BBBBBBB
    111111
    222222
    333333
    CCCCCCC
    111111
    222222
    333333
    

      

    -w 复制匹配行,拷贝到指定文件中

      对于A.txt中选中的行,保存到文件B.txt中,会首先清空B.txt的内容,然后将选中的行拷贝出来,再保存到B.txt中。

    [root@localhost test]# #将A.txt中的2-4行,写到C.txt中,注意会先清空C.txt
    [root@localhost test]# sed '2,4 w C.txt' A.txt
    111111
    222222
    333333
    [root@localhost test]# cat C.txt
    222222
    333333
    

      

    -q 提前退出sed

      sed的处理流程是:从文件中读入一行,然后sed处理一行,一直到文件结束为止。

      使用q,可以让sed提前结束,不用读到文件结束。

    [root@localhost test]# #打印前3行
    [root@localhost test]# sed '3 q' data.txt
    小红        女  20  BeiJing         China
    小明        男  22  ChongQing       China
    花花        女  30  HeBei           China
    [root@localhost test]#
    [root@localhost test]# #找到第1个Japan
    [root@localhost test]# sed '/Japan/ q' data.txt
    小红        女  20  BeiJing         China
    小明        男  22  ChongQing       China
    花花        女  30  HeBei           China
    Jane        女  29  Los Angeles     America
    Maecheal    男  30  Washington      America
    山本        男  25  Nagasaki        Japan
    

      

    (  )多次反向引用

       使用1,2,3.... 表示前面的第n个子表达式

      获取所有用户,以及用户的UID和GID

    [root@localhost test]# head -5 /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    [root@localhost test]# head -5 /etc/passwd | sed 's/^([a-zA-Z_-]+):x:([0-9]+):([0-9]+):.*/USER:1 	 UID:2  GID:3/'
    USER:root        UID:0  GID:0
    USER:bin         UID:1  GID:1
    USER:daemon      UID:2  GID:2
    USER:adm         UID:3  GID:4
    USER:lp          UID:4  GID:7
    

      

      获取eth0的ip地址

    [root@localhost test]# ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr 00:0C:29:21:0C:0F
              inet addr:192.168.228.153  Bcast:192.168.228.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fe21:c0f/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:34864 errors:0 dropped:0 overruns:0 frame:0
              TX packets:17848 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:23505959 (22.4 MiB)  TX bytes:1547380 (1.4 MiB)
    
    [root@localhost test]# ifconfig eth0 | sed -n '/inet addr/ p' | sed 's/.*inet addr:([0-9.]+).*/1/'
    192.168.228.153
    

      

  • 相关阅读:
    CSS hack——不同浏览器的CSS应对法
    IE6对CSS支持Bug收集
    jQuery
    jQuery学习备忘
    MSSQLSERVER之发布-分发-订阅
    利用Resgen.exe 批量生成resources文件
    多语言处理
    c# winform 打包部署 自定义界面 或设置开机启动
    C#修改文件夹权限
    VS2008 Windows Form项目安装包生成详解
  • 原文地址:https://www.cnblogs.com/-beyond/p/9253776.html
Copyright © 2011-2022 走看看