linux | sed 命令使用 | xargs命令 使用

#####################################################

sed命令来自英文词组stream editor的缩写,其功能是利用语法/脚本对文本文件进行批量的编辑操作。sed命令最初由贝尔实验室开发,后被众多Linux系统集成,能够通过正则表达式对文件进行批量编辑,让重复性的工作不再浪费时间。

参数  
-i 不在终端显示	直接修改
-n 仅显示处理后的结果

linux | sed 命令使用 | xargs命令 使用_第1张图片

#########################
cat test1219.txt 
a b c d e f g
h i j k l m n
o p q
r s t
u v w x y z
tttttttttttttttttttttttt
zhangsan____
wangwu
zhangzhangzhang

把新的字符替换旧的字符  其中  "s/"new"/"old"/gi"  其中 i 表示忽略大小写
sed -i  "s/"tttttttttttttttttttttttt"/"zhangsan____"/gi"  ./test1219.txt


cat test1219.txt 
a b c d e f g
h i j k l m n
o p q
r s t
u v w x y z
zhangsan____
zhangsan____
wangwu
zhangzhangzhang

#####################################################
删除指定字符串
 cat test1219.txt 
a b c d e f g
h i j k l m n
o p q
r s t
u v w x y z
少壮不努力老大徒伤悲
少壮不努力老大徒伤悲
wangwu
zhangzhangzhang

sed -i  "/"少壮不努力老大徒伤悲"/d"  ./test1219.txt

cat test1219.txt 
a b c d e f g
h i j k l m n
o p q
r s t
u v w x y z
wangwu
zhangzhangzhang

#在第5行新增 数据  -e "xiyyyy" file 在文件file第x行 插入yyyy数据
# 下面这两个 都是等价的 重点是后者可以插入多行数据
sed -i -e '5ihello world this new line' ./test1219.txt

sed -i -e '5i\
hello world this new line' ./test1219.txt
# 这个就是插入 字符 "hello world this new line"
sed -i -e '5i"hello world this new line"' ./test1219.txt

#替换2-5行的数据内容
sed '2,5c NewSentence' test1219.txt
a b c d e f g
NewSentence
"hello world this new line"
hello world this new line
u v w x y z
wangwu
zhangzhangzhang

#读取1-2 两行
sed -n '1,2p' test1219.txt
a b c d e f g
h i j k l m n

#####################################################

xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。

xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。

xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。

xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。

###################
# 五个元素  一行输入
cat test1219.txt | xargs -n5
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
z

#############################

参考1

参考2

#######################################
写的有点乱 ,后面逐步完善, sed 命令 很重要 配上 正则 无敌!!!

你可能感兴趣的:(C++,linux,综合部,linux,chrome,运维)