Linux常用命令
1.sed
批量替换单个文件内容
命令格式:sed -i 's/旧内容/新内容/g' 文件路径
sed -i 's/oldString/newString/g' file
例如:我想替换cwx.txt文件中的 java 为 linux ,可以使用以下命令:
sed -i 's/java/linux/g' cwx.txt
批量替换多个文件内容
命令格式:sed -i "s/原内容/新内容/g" `grep 原内容 -rl 所在目录` 注:千万注意这个符号【`】,是【最左上角】那个符号不是单引号
sed -i "s/oldString/newString/g" `grep oldString -rl /path`
例如:我要把/test下所有文件,包含java的替换为linux,可以用以下命令:
sed -i "s/java/linux/g" `grep java -rl /test`
2.查找文件中内容
find:
查找文件:find ./actions/ -name Constract.php
查找包含leyangjun字母的文件:find /etc -name '*leyangjun*'
查找srm开头的文件:find/etc -name 'srm*'
我们要在/usr目录及子目录下查找文件名包含“leyangjun”关键字的文件:find /usr -print |grep leyangjun
grep:
在Constract.php文件中查找字符leyangjun的行:grep 'leyangjun' Constract.php
不区分大小写地搜索。默认情况区分大小写:grep -i 'ModifySubacction' controllers/Constract.php
管道查询:
从根目录开始查找所有扩展名为.log的文本文件,并找出包含”leyangjun”的行:find / -type f -name "*.log" | xargs grep "leyangjun"
当前目录开始查找所有扩展名为.php的文本文件,并找出包含”leyangjun”的行:find ./ -name "*.php" | xargs grep "leyangjun"