首頁 > 軟體

幾個與文字處理相關的Linux命令總結

2020-06-16 16:43:37

1.當前目錄下有若干檔案,找出擴充套件名為TextGrid的所有檔案,並複製到…/file_set。
find . -name "*.TextGrid" -exec cp {} ../file_set/ ;

2.當前目錄下有若干檔案,找出擴充套件名為“TextGrid”且非UTF-8(UTF-8 Unicode Text,with CRLF line terminators)編碼的檔案,並將其移動到…/trash。該型別的檔案命名規則為16位元亂數字。
for s_file in `for t_file in $(ls *.TextGrid);do file $t_file|grep -v "UTF-8 Unicode Text,with CRLF line terminators"|grep -o -E [0-9]{16}.TextGrid;done` do mv $s_file ../trash ;done

3.產生一個含有大寫字母和數位長度為8的隨機字串。
echo $RANDOM|md5sum|tr -t [a-z] [A-Z]|cut -b 1-8

4.批次刪除文字中以某指定字串匹配的行。
sed -i '/^sid/d' test.txt

5.檢視系統中所有人可讀寫執行的不安全檔案。
find / -perm 777 -a ! -type s -a ! -type l -a ! ( -type d -a -perm 1777 )

6.當前目錄中有300個檔案,現需要從該批檔案中隨機選取100個並移動到上層目錄to_dir中。
for $files in `ls|sort --random-sort|head -n 100`;do mv $files ../to_dir/ ; done

7.當前目錄有若干UTF-8帶BOM的檔案,需刪除這些檔案中的BOM。
for files in `ls`;do sed -i 's/xEFxBBxBF//g' $files ;done

8.當前目錄下有若干UTF-8檔案,使用file命令檢視,顯示“UTF-8 Unicode (with BOM) text”,找出非該類檔案,並檢視他們的內容。
file *|grep -v "UTF-8 Unicode (with BOM) text"|awk -F ":" '{print $1}'|xargs cat

9.當前目錄下有一批UTF16BE的檔案,需轉換成UTF-8,轉換完成後需將新檔案儲存到上層目錄to_dir中。
for files in `ls`; do iconv -f UTF16BE -t UTF-8  -o ../to_dir/$files $files;done


IT145.com E-mail:sddin#qq.com