
grep "node01" -rl ./salt/* --exclude=*.tar.gz
其实这里的 -r表示递归,-l表示输出文件名,
也可以将 -rl替换为-rn,-n表示是哪一行,会输出行号详细信息
grep "node01" -rn ./salt/* --exclude=*.tar.gz
替换字符串:
把./salt/*目前下所有文件进行遍历,查是否包含node01字符串的,不包括tar.gz结尾的文件。然后把node01用test01进行批量替换。
grep "node01" -rl ./salt/* --exclude=*.tar.gz | xargs sed -i 's/node01/test01/g'
1、这么就用不会提示了:#\cp
-rf
2、
原因:
#
vi
~/.bashrc
如果你看到如下内容,以下命令都会用别名执行了,就是说自动加了
-i
参数:
alias
rm='rm
-i'
alias
cp='cp
-i'
alias
mv='mv
-i'
为了让复制和移动大量文件去覆盖目标时,不会产生一个个的提示,命令应该这样写
#
\cp
-rf
/data/xxx*
/home/xxx
注意
cp
命令前加了
\
,意思是不让它用~/.bashrc里的别名运行,即
-i
参数
3、补充cp该命令的各选项含义如下
-
a
该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
-
d
拷贝时保留链接。
-
f
删除已经存在的目标文件而不提示。
-
i
和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
-
p
此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
-
r
若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
-
l
不作拷贝,只是链接文件。
4、需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
文件内容替换涉及到的命令如下:1、打开文件后,进入一般模式(即没法修改文件的模式)
2、输入 :1,$s/word1/word2/g 指从第一行到最后一行,将word1换为word2
3、可以在g后面加上字母c,这样替换前都需要用户确认。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)