linux sed 批量替換多個(gè)文件中的字符串
sed -i "s/查找字段/替換字段/g" \`grep 查找字段 -rl 路徑\`
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
例如:替換/home下所有文件中的www.admin99.net為admin99.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內(nèi)的文字“garden”替換成“mirGarden”
sed -i "s/garden/mirGarden/g" 1.txt //sed -i 很簡(jiǎn)單
將當(dāng)前目錄下的所有文件內(nèi)的“garden”替換成“mirGarden”
sed -i "s/garden/mirGarden/g" `ls` //其實(shí)也就是ls出多個(gè)文件名而已
設(shè)置環(huán)境變量
設(shè)置用戶環(huán)境變量
修改~/.bashrc
文件秃嗜,添加
PATH=$PATH:/Android/bin/
修改系統(tǒng)環(huán)境變量
修改/etc/profile
文件,添加
PATH=$PATH:/Android/bin/
勿刪libc.so.6怎么辦
linux 很多shell命令都離不開 libc.so.6
芽隆,所以如果勿刪了的話,什么也做不了恕酸。不過還好有補(bǔ)救措施
# LD_PRELOAD=/lib/libc-2.6.1.so ln -s /lib/libc-2.6.1.so lib/libc.so.6
在命令行傳遞密碼給scp
我在shell腳本中拷貝文件到遠(yuǎn)端服務(wù)器仁期,可是每次提示我輸入密碼藏杖,很繁瑣。使用輸入重定向也不行北启,因?yàn)閟cp直接從tty讀取密碼卜朗。有沒有什么解決方法呢?linux提供了另外一個(gè)工具sshpass
咕村,可以解決這個(gè)問題
sshpass -p "123456" scp list.txt user@10.148.6.99:/path/to/destination
cat過濾重復(fù)行
排除重復(fù)行(這個(gè)只能排除相鄰的重復(fù)行)
cat data.txt | uniq
要?jiǎng)h除所有重復(fù)行场钉,就要這樣做,先排序然后在排重
cat data.txt | sort | uniq
或者
sort -u data.txt