go語言遞歸查看文件 go語言查詢數(shù)據(jù)庫

Go語言文件操作

本文主要介紹了Go語言中文件讀寫的相關操作。

成都創(chuàng)新互聯(lián)專注于呼蘭網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供呼蘭營銷型網(wǎng)站建設,呼蘭網(wǎng)站制作、呼蘭網(wǎng)頁設計、呼蘭網(wǎng)站官網(wǎng)定制、成都微信小程序服務,打造呼蘭網(wǎng)絡公司原創(chuàng)品牌,更為您提供呼蘭網(wǎng)站排名全網(wǎng)營銷落地服務。

文件是什么?

計算機中的文件是存儲在外部介質(通常是磁盤)上的數(shù)據(jù)集合,文件分為文本文件和二進制文件。

os.Open() 函數(shù)能夠打開一個文件,返回一個 *File 和一個 err 。對得到的文件實例調用 close() 方法能夠關閉文件。

為了防止文件忘記關閉,我們通常使用defer注冊文件關閉語句。

Read方法定義如下:

它接收一個字節(jié)切片,返回讀取的字節(jié)數(shù)和可能的具體錯誤,讀到文件末尾時會返回 0 和 io.EOF 。 舉個例子:

使用for循環(huán)讀取文件中的所有數(shù)據(jù)。

bufio是在file的基礎上封裝了一層API,支持更多的功能。

io/ioutil 包的 ReadFile 方法能夠讀取完整的文件,只需要將文件名作為參數(shù)傳入。

os.OpenFile() 函數(shù)能夠以指定模式打開文件,從而實現(xiàn)文件寫入相關功能。

其中:

name :要打開的文件名 flag :打開文件的模式。 模式有以下幾種:

perm :文件權限,一個八進制數(shù)。r(讀)04,w(寫)02,x(執(zhí)行)01。

golang怎么逐個讀取目錄下的所有文件

CFileFindff;CStringszName=dir;if(szName.Right(1)!="\\"){szName+="\\";}szName+="*.*";BOOLres=ff.FindFile(szName);while(res){res=ff.FindNextFile();if(!ff.IsDots())//目錄是文件夾{//如果是一個子目錄,用遞歸繼續(xù)往深一層找TravelDir(dir+"\\"+ff.GetFileTitle());}elseif(!ff.IsDirectory()!ff.IsDots())//到達最低層的文件{CStringfileName=ff.GetFileName();}}}ff.Close();//關閉MessageBox(fileName);

如何做一個遞歸查找/字符串替換

1. cd /home/www

find . -type f -print0 | xargs -0 sed -i 's/subdomainA.example.com/subdomainB.example.com/g'

UPD。

-print0(GNU只找到)講述,而不是空白找到空字符(\\ 0)作為輸出之間的分隔符找到。這是一個更安全的選擇,如果你的文件可以包含空格或其它特殊字符。它是-print0找到,如果-(-0是需要在xargs的)或xargs的。

2.

find /home/ CodeGo.net -type f -exec \

sed -i 's/subdomainA\.example\.com/subdomainB.example.com/g' {} +

相較于這里其他的答案,這是簡單的比大多數(shù)sed的,而不是perl,它是原來的問題問什么。

3.

cd /home/ CodeGo.net find . -type f -print0 |

xargs -0 perl -i.bak -pe 's/subdomainA\.example\.com/subdomainB.example.com/g'

4.

我只是需要這一點 CodeGo.net,不滿意的可用實例的速度。所以,我與我自己的:

cd /var/ CodeGo.net ack-grep -l --print0 subdomainA.example.com | xargs -0 perl -i.bak -pe 's/subdomainA\.example\.com/subdomainB.example.com/g'

ACK-grep的是找到相關的文件非常有效的。更換?145 000檔案輕而易舉,而其他花了這么長時間我不能等到他們完成。

5.

find /home/ CodeGo.net -type f -exec perl -i.bak -pe 's/subdomainA\.example\.com/subdomainB.example.com/g' {} +

找到/-F型將列出/所有文件(及其子目錄)。

該“-exec的”標志告訴發(fā)現(xiàn)運行在每個文件中找到。

Perl的i.bak-PE的/ subdomainA。 {} +

運行上的文件(許多在該“{}”被替換的文件

在年底的+告訴找建1命令很多

從查找手冊頁:“行是建立在很多的方式,

xargs的建行?!?/p>

它可以實現(xiàn)你的目標xargs的-0,或-print0。

。

6.

最簡單的解決方案是,即:

sed -i '' -e 's/subdomainA/subdomainB/g' $(find /home/ CodeGo.net -type f)

注意:-i ''解決問題的OSXsed: 1: "...": invalid command code .注:如果有太多要處理的文件,你會得到Argument list too long。解決方法-使用find -exec或xargs上述解決方案。

7.

更簡單的方法是在下面的行

find /home/ CodeGo.net -type f|xargs perl -pi -e 's/subdomainA\.example\.com/subdomainB.example.com/g'

8.

您還可以:

搜索和替換查找和編輯

(那里還設有一個測試模式,通過-t標志)

9.

試試這個:

sed -i 's/subdomainA/subdomainB/g' `grep -ril 'subdomainA' *`

10.

更改多個文件(保存?zhèn)浞莸? BAK):

perl的-P-I-E“S / \\|/ X / G”*

將所有文件在目錄和替換“|”,其中x

所謂的“Perl的pie”(容易的pie)

11.

#!/usr/local/bin/bash -x

find * /home/ CodeGo.net f | while read files

do

sedtest=$(sed -n '/^/,/$/p' "${files}" | sed -n '/subdomainA/p')

if [ "${sedtest}" ]

then

sed s'/subdomainA/subdomainB/'g "${files}" "${files}".tmp

mv "${files}".tmp "${files}"

fi

done

網(wǎng)頁名稱:go語言遞歸查看文件 go語言查詢數(shù)據(jù)庫
鏈接地址:http://muchs.cn/article32/dosjgsc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣服務器托管、軟件開發(fā)面包屑導航、網(wǎng)站排名、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)