A. linux下如何根據文件大小來清除文件內容
重定向吧~ 貌似Linux沒有獲取文件大小的函數吧,不太清楚
system("ls -l ss.log > file");
把文件的信息重定向到一個文件,然後讀該文件, 解析第5個字元串就知道文件的大小了~
超過100*1024*1024就system("rm ss.log");
B. linux 刪除指定文件指定內容的命令
sed '/A/d' all.txt
這個命令就可以實現, sed命令是shell編程的必須要懂得的。
如果以後遇到了這方面的問題, 也可以一起討論一下!
C. Linux中如何根據一個文件的內容將另一個文件中的某幾行刪掉
#!/bin/bash
cat 2.txt | while read line;do
sed -i "/$line/d" 1.txt
done
D. shell如何取出特定文本內容並替換另一個文本中的指定內容
1、按=分割取第二列
cat $file1|grep mqserver|awk -F= '{print $2}'`
2、直接替換文件內容
sed -i "s/127.0.0.1/192.168.1.1/" file1
3、實例:
#!/bin/sh
file1=ip1.txt
file2=ip2.txt
IP1=`cat $file1|grep mqserver|awk -F= '{print $2}'`
IP2=`cat $file2|grep ip|awk -F= '{print $2}'`
echo change $IP1 to $IP2.
sed -i "s/$IP1/$IP2/" $file1
more $file1
E. Linux 排序的時候過濾掉某個內容。
|cat test.log | awk {print'$n'} | sort -nr | uniq -c | sort -k1 -nr 其中襲 $n 為需要按出現次數排序的那一列 sort -nr 先排序 uniq -c 去重並計算出現次數 sort -k1 -nr 按出現次數排序
F. 如何用linux實現刪除a文件中包含b文件內容的所有行,並生成新文件
給你寫個腳本,將腳本放入目錄內,或者把a,b文件的絕對路徑添加到其中也可以
注意`cat b` 的兩個反引號(鍵盤tab上面的那個鍵)不要打錯了
你說的生成新文件,腳本里寫的生成新文件c,然後把a文件備份成a-bak,再把c文件命名為a,以這樣的方式實現。腳本:
#! /bin/sh
cat a | egrep -v "`cat b`" > c
mv a a-bak
mv c a
echo "done"
G. linux文件夾內文件復制,如何排除某個文件
1、首先連接linux伺服器,然後cd切換到需要打包的目錄中,這里新建了幾個測試文件來演示如內何使用容tar打包。
H. linux 查找包含關鍵字的所有文件並刪除該文件。
1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。
I. linux從一個文件中刪除某些內容,文件很大,怎麼做
首先cd進入目錄: find . -name "*~" -exec rm {} \; find . -ctime +n -exec -exec rm -vi {} \; 這里的+n是指多少天以前,比如:+7 find . -ctime +7 -exec -exec rm -vi {} \; 如果不想手動確認,把命令中的-vi改成-fv 請詳查find命令.
J. 從linux指令的結果中過濾出需要的部分並寫入指定文件
Linux下可以用sed命令來向文件中自追加內容。
案例:把/etc/test1文件中1-10行內容寫入到test2中
12
sed
-n
'1,10'p
/etc/test1
>>test2#將file1的1-10行追加到file2
sed命令行格式為:sed
[-nefri]
『command』
輸入文本
常用選項:-n∶使用安靜(silent)模式;
-e∶直接在指令列模式上進行
sed
的動作編輯;
-f∶直接將
sed
的動作寫在一個檔案內;
-r∶sed
的動作支援的是延伸型正規表示法的語法;
-i∶直接修改讀取的檔案內容,而不是由螢幕輸出。