介紹一下 怎麼樣處理一個文字檔
1 先前介紹
2 列出
3 尋找
4 寫入另檔
另進階
5 排序
6 變更
*************************************************************************
1 先前介紹
先介紹一下 * , ? 這二個符號 這個在處理檔案的時候能發揮很大的功能
dir *.* 尋找全部
dir ???.exe 找三個字以內的字尾是exe的檔
星代表全部 0~無限大
?則代表 0~1 用法不同 但同樣重要
*************************************************************************
2 列出內容可以使用 type 指令來完成
type /? 可以看說明
下面會一直使用到這個指令
ex1: type FileName
範例檔 取名 test.txt 後面都使用這個範例
C:\>type D:\test2\ok\hddfree\test.txt
Client Backups on Test_ser
Client Backup Date/Time Policy Number of Fil
------------------------------------------------------------
Test_ser 02/26/2006 23:00:55 FS_Test_ser 207236
Test_ser 02/26/2006 23:30:53 EXP_XPRO 733
Test_ser 02/27/2006 23:00:08 FS_Test_ser 207233
Test_ser 02/27/2006 23:30:04 EXP_XPRO 739
Test_ser 02/28/2006 23:00:26 FS_Test_ser 207246
Test_ser 02/28/2006 23:30:24 EXP_XPRO 745
Test_ser 03/01/2006 23:00:41 FS_Test_ser 207281
Test_ser 03/01/2006 23:30:39 EXP_XPRO 751
Test_ser 03/02/2006 23:00:55 FS_Test_ser 207325
Test_ser 03/02/2006 23:30:53 EXP_XPRO 757
Test_ser 03/03/2006 23:00:08 FS_Test_ser 207343
Test_ser 03/03/2006 23:30:05 EXP_XPRO 763
Test_ser 03/04/2006 23:00:29 FS_Test_ser 207361
Test_ser 03/04/2006 23:30:27 EXP_XPRO 769
3 尋找可以使用 find 指令來完成
D:\test2\ok\hddfree>find /?
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
搜尋檔案中的文字字串。
一般人都是列出來再尋找
type FileName | find "string"
比較常用的是 /v "排除" 很常用要找的字串
/n 是在前面標上行號
※很重要 如檔案內容很多(就是檔案很大 就不要這樣使用 type 會先吃一次記憶體)※
直接使用 find "string" < FileName
不過這個方法有缺點 要作迴圈判斷的時候比較麻煩 不過能解決多半的問題
此檔很小 是感覺不太出來
例
C:\>type D:\test2\ok\hddfree\test.txt | find "23:30"
Test_ser 02/26/2006 23:30:53 EXP_XPRO 733
Test_ser 02/27/2006 23:30:04 EXP_XPRO 739
Test_ser 02/28/2006 23:30:24 EXP_XPRO 745
Test_ser 03/01/2006 23:30:39 EXP_XPRO 751
Test_ser 03/02/2006 23:30:53 EXP_XPRO 757
Test_ser 03/03/2006 23:30:05 EXP_XPRO 763
Test_ser 03/04/2006 23:30:27 EXP_XPRO 769
你可以試試看把他
C:\>find /v "23:30" < D:\test2\ok\hddfree\test.txt
4 寫入另檔
先介紹二個符號 > >> <
前先有提到 < 但沒介紹 補一下好了
這些大於小於都是導向的方向 < 後面丟給前面
> 這個是向後丟 (如果目標有東西會被清空,注意)
>> 從檔案的最後再丟進去
就面上面的例子好了
C:\>type D:\test2\ok\hddfree\test.txt | find "FS_" > file1
C:\>find "EXP_" < D:\test2\ok\hddfree\test.txt > file1
以上二個都是可以使用的方法
這樣可以作整理檔案 也可以快速的找到你想要的東西
找一個比較簡單的列子作練習好了
我想找出自已的網卡MAC 使用指令 ipconfig/all
C:\>ipconfig/all | find "Physical Address" > MAClist.txt
幾乎能直接秀在畫面上(cmd畫面)的文字 應該都能丟到文字檔上
進階
5 排序
C:\>sort /?
SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes]
[[drive1:][path1]filename1] [/T [drive2:][path2]]
[/O [drive3:][path3]filename3]
/+n 指定每次開始比較的起始字元
數目 n。 /+3 表示每次比較
/r 反排
比較多人會使用 這個參數吧
其他的我就沒使用過了
C:\>cat D:\test2\ok\hddfree\test.txt | sort /r
C:\>sort /+16 < D:\test2\ok\hddfree\test.txt
比起別的指令 這個指令算笨的了
6 變更
這個 nt 就比較難用指令帶過了
nt沒有這個指令可以用 可以用 vbscript (不小心搞丟了)
請參閱
使用sed指令 win32 中 修改字串用
http://www.wretch.cc/blog/c9992&article_id=3721366
當然還有tr可以使用 將文字檔作轉換 1
這些都是文字基本的改編功能
備註
請參閱 加強型的批處理指令
請參閱 加入迴圈型的批處理指令
訂閱:
張貼留言 (Atom)
RHEL install EPEL
https://www.linuxtechi.com/install-epel-repo-on-rhel-system/ EPEL dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest...
-
記事本開啟 HKEY_CLASSES_ROOT\*\shell] [HKEY_CLASSES_ROOT\*\shell\NotePad] @="用記事本開啟" [HKEY_CLASSES_ROOT\*\shell\NotePad\command] @=...
-
下載 http://dba-tips.blogspot.tw/2015/05/oracle-database-health-check-script.html Oracle Database Health Check Script Do you wan...
-
旋轉泡泡: Oracle DataGuard 相關 Oracle DataGuard 檢查開啟狀態 -- 請全貼 -- ===check=== select dbid,name from v$database; select log_mode , OPE...
沒有留言:
張貼留言