awk是linux下強(qiáng)大的文本處理工具
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的分宜網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
xargs是linux下一個(gè)常用命令,用于將參數(shù)列表打散
這兩個(gè)命令結(jié)合用來批量結(jié)束進(jìn)程:
ps -ef | grep nsq | grep -v grep | awk '{print $2}' | xargs kill #殺掉所有nsq相關(guān)進(jìn)程
awk是什么的縮寫?看這里:
方法/步驟
Linux系統(tǒng)中,每個(gè)文件的權(quán)限默認(rèn)是由創(chuàng)建它的使用者所指定的。而且權(quán)限不隨文件環(huán)境的改變而變化。換言之,你從別的地方復(fù)制、下載、接受過來的文件權(quán)限與它原始的權(quán)限保持一致。例如圖1中的文件是通過藍(lán)牙裝置接收的。
當(dāng)新的操作者的權(quán)限低于文件默認(rèn)的權(quán)限時(shí),文件是沒有辦法運(yùn)行的。例如圖2,當(dāng)試圖運(yùn)行文件夾中的某個(gè)文件時(shí),由于權(quán)限原因,文件被拒絕執(zhí)行。系統(tǒng)提示:Permission denied.
如果你對(duì)要操作的文件權(quán)限沒有特殊要求的話,并確定文件安全可靠,你可以使用chmod 777 [Filename] (中括號(hào)里是你要改的文件名,實(shí)際輸入不包括中括號(hào))命令來快速修改文件權(quán)限為最高(即文件可被讀/寫/運(yùn)行)。注意:修改成功后,是沒有提示的;修改不成功才有提示。
看一下劉遄老師的《linux就該這么學(xué)》
可以用腳本實(shí)現(xiàn)批量文件名稱修改,以perl腳本為例:
注釋:
1. # touch rename.perl //創(chuàng)建一個(gè)文件:rename.perl , 內(nèi)容如下。
2. # chmod +x rename.perl
3. # cp rename.perl /bin/
4. # rename.perl 's/gongxu/leibie/g' * //將目錄中所有文件名中的 gongxu 替換為 leibie。
#!/usr/bin/perl -w
# rename - Larry's filename fixer
#用法: Perl表達(dá)式 [要處理的文件名]
$op = shift or die "Usage: rename expr [files]\n";
#如果沒有給出要處理的文件名則從標(biāo)準(zhǔn)輸入讀入
chomp(@ARGV = STDIN) unless @ARGV;
for (@ARGV) {
$was = $_;
eval $op; #對(duì)待處理的文件名($_)執(zhí)行用戶輸入的Perl表達(dá)式$op
die $@ if $@; #退出 , 如果eval出錯(cuò)
rename($was,$_) unless $was eq $_;
}
rename腳本的經(jīng)典實(shí)例示范:
% rename.perl 's/\.orig$//' *.orig #移除文件末尾的.orig
% rename.perl "tr/A-Z/a-z/ unless /^Make/" * #所有非Make打頭的文件名大寫轉(zhuǎn)為小寫
% rename.perl '$_ .= ".bad"' *.f #每個(gè)*.f文件后面追加一個(gè).bad
% rename.perl 'print "$_: "; s/foo/bar/ if =~ /^y/i' * #回顯每個(gè)待處理的文件名, 等待輸入, 如果用戶輸入以y或Y打頭, 把文件名中的foo替換成bar
% find /tmp -name "*~" -print | rename.perl 's/^(.+)~$/.#$1/' #把 /tmp目錄里面每個(gè)文件名末尾有~的文件名改成以.#開頭
win系統(tǒng)下批量刪去文件名中某些字符的方法:
第一步,安裝工具軟件后打開使用,通過點(diǎn)擊【添加文件】按鈕或者拖動(dòng)的方式將文件添加到軟件中,可以同時(shí)添加幾百個(gè)文件到軟件中,添加成功后會(huì)顯示在軟件中。
第二步,添加完文件后就進(jìn)行設(shè)置,命名方式選擇“替換”;然后下面“查找內(nèi)容”的右邊輸入需要?jiǎng)h除的字符;這時(shí)候可以預(yù)覽到新文件名中已經(jīng)刪除了相同的字符。
第三步,當(dāng)你認(rèn)為設(shè)置好了后就可以點(diǎn)擊【開始重命名】按鈕啟動(dòng)軟件程序了,成功后軟件會(huì)彈出“重命名成功”的提示。具體的批量處理時(shí)間要看文件數(shù)量多少。
第四步,通過對(duì)比處理前后的文件名稱,原本文件名中都含有的“表”字符被全部刪除了。
可以建立一個(gè)shell腳本處理,腳本內(nèi)容如下,這只是個(gè)簡(jiǎn)單的腳本,沒有對(duì)用戶設(shè)置組和家目錄,也沒有判斷用戶是否存在,實(shí)際應(yīng)用中需要注意處理:
#!/bin/bash
#設(shè)置初始密碼
kpasswd="12345"
for kuser in k1 k2 k3 k4 k5
do
useradd $kuser
echo "$kuser:$kpasswd" | chpasswd
echo "用戶$kuser建立成功,初始密碼是$kpasswd"
done
可以的. 而且比windows的批處理強(qiáng)多了.
安卓也能運(yùn)行, 語法可能小有不同.