linux 操作

linux sed 批量替换多个文件中的字符串

sed -i "s/查找字段/替换字段/g" \`grep 查找字段 -rl 路径\`
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

例如:替换/home下所有文件中的www.admin99.netadmin99.net

sed -i "s/www.admin99.net/admin99.net/g" `grep www.admin99.net -rl /home`
exp:sed -i "s/shabi/$/g" `grep shabi -rl ./`

将文件1.txt内的文字“garden”替换成“mirGarden”

sed -i "s/garden/mirGarden/g" 1.txt   //sed -i 很简单

将当前目录下的所有文件内的“garden”替换成“mirGarden”

sed -i "s/garden/mirGarden/g" `ls` //其实也就是ls出多个文件名而已

设置环境变量

设置用户环境变量

修改~/.bashrc文件,添加

PATH=$PATH:/Android/bin/

修改系统环境变量

修改/etc/profile文件,添加

PATH=$PATH:/Android/bin/

勿删libc.so.6怎么办

linux 很多shell命令都离不开 libc.so.6,所以如果勿删了的话,什么也做不了。不过还好有补救措施

# LD_PRELOAD=/lib/libc-2.6.1.so ln -s /lib/libc-2.6.1.so lib/libc.so.6

在命令行传递密码给scp

我在shell脚本中拷贝文件到远端服务器,可是每次提示我输入密码,很繁琐。使用输入重定向也不行,因为scp直接从tty读取密码。有没有什么解决方法呢?linux提供了另外一个工具sshpass,可以解决这个问题

sshpass -p "123456" scp list.txt user@10.148.6.99:/path/to/destination

cat过滤重复行

排除重复行(这个只能排除相邻的重复行)

cat data.txt | uniq 

要删除所有重复行,就要这样做,先排序然后在排重

cat data.txt | sort | uniq 
或者
sort -u data.txt
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容