熱搜:win11繞過硬件限制安裝 一鍵重裝Win10系統(tǒng) 最干凈的u盤啟動盤 真正純凈版的win7系統(tǒng)
時間:2015-07-01 15:46:54 作者:zhijie 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機(jī)瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150701/51942.html 手機(jī)查看 評論 反饋
處理文件和數(shù)據(jù)
要在當(dāng)前目錄中按名稱定位文件,find 。 -iname ’*something*‘(或者相類似的)。要按名稱查找任何地方的文件,使用 locate something(但請記住,updatedb 可能還沒有索引最近創(chuàng)建的文件)。
對于源代碼或數(shù)據(jù)文件進(jìn)行的常規(guī)搜索(要比 grep -r 更高級),使用 ag。
要將 HTML 轉(zhuǎn)成文本:lynx -dump -stdin。
對于 Markdown、HTML,以及各種類型的文檔轉(zhuǎn)換,可以試試 pandoc。
如果你必須處理 XML,xmlstarlet 雖然有點老舊,但是很好用。
對于 JSON,使用jq。
對于 Excel 或 CSV 文件,csvkit 提供了 in2csv,csvcut,csvjoin,csvgrep 等工具。
對于亞馬遜 S3 ,s3cmd 會很方便,而 s4cmd 則更快速。亞馬遜的 aws 則是其它 AWS 相關(guān)任務(wù)的必備。
掌握 sort 和 uniq,包括 uniq 的 -u 和 -d 選項——參見下面的單行程序。
掌握 cut,paste 和 join,它們用于處理文本文件。很多人會使用 cut,但常常忘了 join。
了解 tee,它會將 stdin 同時復(fù)制到一個文件和 stdout,如 ls -al | tee file.txt。
知道 locale 會以微妙的方式對命令行工具產(chǎn)生大量的影響,包括排序的順序(整理)以及性能。大多數(shù)安裝好的 Linux 會設(shè)置 LANG 或其它 locale 環(huán)境變量為本地設(shè)置,比如像 US English。但是,你要明白,如果改變了本地環(huán)境,那么排序也將改變。而且 i18n 過程會讓排序或其它命令的運行慢好多倍。在某些情形中(如像下面那樣的設(shè)置操作或唯一性操作),你可以安全地整個忽略緩慢的 i18n 過程,然后使用傳統(tǒng)的基于字節(jié)的排序順序 export LC_ALL=C。
了解基本的改動數(shù)據(jù)的 awk 和 sed 技能。例如,計算某個文本文件第三列所有數(shù)字的和:awk ’{ x += $3 } END { print x }‘。這可能比 Python 的同等操作要快3倍,而且要短3倍。
在一個或多個文件中,替換所有出現(xiàn)在特定地方的某個字符串:
perl -pi.bak -e ’s/old-string/new-string/g‘my-files-*.txt
要立即根據(jù)某個模式對大量文件重命名,使用 rename。對于復(fù)雜的重命名,repren 可以幫助你達(dá)成。
# 恢復(fù)備份文件 foo.bak -》 foo:
rename ’s/\.bak$//‘*.bak
# 完整的文件名、目錄名 foo -》 bar:
repren --full --preserve-case--from foo --to bar 。
使用 shuf 來從某個文件中打亂或隨機(jī)選擇行。
了解 sort 的選項。知道這些鍵是怎么工作的(-t和-k)。特別是,注意你需要寫-k1,1來只通過第一個字段排序;-k1意味著根據(jù)整行排序。
穩(wěn)定排序(sort -s)會很有用。例如,要首先按字段2排序,然后再按字段1排序,你可以使用sort -k1,1 | sort -s -k2,2
如果你曾經(jīng)需要在 Bash 命令行中寫一個水平制表符(如,用于 -t 參數(shù)的排序),按ctrl-v [Tab],或者寫$’\t‘(后面的更好,因為你可以復(fù)制/粘貼)。
對源代碼進(jìn)行補(bǔ)丁的標(biāo)準(zhǔn)工具是 diff 和 patch。 用 diffstat 來統(tǒng)計 diff 情況。注意 diff -r可以用于整個目錄,所以可以用 diff -r tree1 tree2 | diffstat 來統(tǒng)計(兩個目錄的)差異。
對于二進(jìn)制文件,使用 hd 進(jìn)行簡單十六進(jìn)制轉(zhuǎn)儲,以及 bvi 用于二進(jìn)制編輯。
還是用于二進(jìn)制文件,strings(加上 grep 等)可以讓你找出一點文本。
對于二進(jìn)制文件的差異(delta 壓縮),可以使用 xdelta3。
要轉(zhuǎn)換文本編碼,試試 iconv 吧,或者對于更高級的用途使用 uconv;它支持一些高級的 Unicode 的東西。例如,這個命令可以轉(zhuǎn)換為小寫并移除所有重音符號(通過擴(kuò)展和丟棄):
uconv -f utf-8-t utf-8-x ’::Any-Lower; ::Any-NFD; [:Nonspacing Mark:] 》; ::Any-NFC; ‘《 input.txt 》 output.txt
要將文件分割成幾個部分,來看看 split(按大小分割)和 csplit(按格式分割)吧。
使用 zless,zmore,zcat 和 zgrep 來操作壓縮文件。
發(fā)表評論
共0條
評論就這些咯,讓大家也知道你的獨特見解
立即評論以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場