Linux sed使用方法
目录
处理流程
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表示前面的第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 \t 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
Linux sed使用方法的更多相关文章
- [转帖]linux sed命令
linux sed命令就是这么简单 https://www.cnblogs.com/wangqiguo/p/6718512.html 用到的最多的就是一个sed -i 's/nn/mm/' 的命令了. ...
- 【转】linux sed命令
转自:linux sed命令就是这么简单 参考:Linux三大剑客之sed:https://blog.csdn.net/solaraceboy/article/details/79272344 阅读目 ...
- Linux日志切割方法[Logrotate、python、shell实现方式]
Linux日志切割方法[Logrotate.python.shell实现方式] 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分 ...
- 第一种SUSE Linux IP设置方法
第一种SUSE Linux IP设置方法ifconfig eth0 192.168.1.22 netmask 255.255.255.0 uproute add default gw 192.168. ...
- 学习linux/unix编程方法的建议(转)
假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过 我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>linux ...
- Linux sed 替换第一次出现的字符串
/********************************************************************************* * Linux sed 替换第一次 ...
- linux sed命令参数及用法详解
linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...
- SSH连接不上Linux的解决方法
SSH连接不上Linux的解决方法: 连续弄了几次,今天早上终于把SSH连接虚拟机连接不通的问题解决了. 先简单说下概要: 主机装的是XP系统,虚拟机用的是red hat Linux. 我用的是nat ...
- linux sed 批量替换多个文件中的字符
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldst ...
随机推荐
- python3 之视频抽针
import cv2 import os Path = "C:/Users/zl3269/Desktop/test/video/" # 视频的格式 /aisg-server/Dat ...
- LeetCode算法题-Nth Digit(Java实现)
这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...
- LeetCode算法题-Add Digits(Java实现-3种解法)
这是悦乐书的第199次更新,第207篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第63题(顺位题号是258).给定非负整数num,重复添加其所有数字,直到结果只有一位数 ...
- LeetCode算法题-Delete Node in a Linked List(Java实现)
这是悦乐书的第197次更新,第204篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第60题(顺位题号是235).编写一个函数来删除单链表中的节点(尾部除外),只允许访问该 ...
- C语言 矩阵的转置及矩阵的乘法
C语言 矩阵的转置及矩阵的乘法 //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1.矩阵的转置 #include<stdio.h> #defi ...
- 如何合并列表中key相同的字典?
现有list: list1 = [{a: 123}, {a: 456},{b: 789}] 合并成: list2 = [{a: [123,456]},{b: [789]}] from collecti ...
- 去除列表中的\n 和空字符
s=['\n', 'magnet:?xt=urn:btih:060C0CE5CFAE29A48102280B88943880689859FC\n'] 上面是目标代码,一个列表,中间有\n,我们现在将其 ...
- Insert Into 语句的语法错误
错误示意: 一开始程序是: 改正: 一条很简单的插入语句竟然会报错,然而直接在数据库的查询中执行中却没有问题,这个问题困扰了不少时间. 数据库使用的是ACCESS,INSERT INTO语句为inse ...
- Python 带参数的装饰器 [2] 函数参数类型检查
在Python中,不知道函数参数类型是一个很正常的事情,特别是在一个大项目里.我见过有些项目里,每一个函数体的前十几行都在检查参数类型,这实在是太麻烦了.而且一旦参数有改动,这部分也需要改动.下面我们 ...
- 5linux引导流程解析
课程大纲 Linux引导流程 Linux运行级别 Linux启动服务管理 GRUB配置与应用 启动故障分析与解决 常用固件设置 安全设置 可引导介质列表 可引导介质搜索顺序 ...