2012-07-24 55 views
1

我只是尋找一種快速方法來查看文本文檔的內容,然後將文本添加到每行的開頭。每一行將在開始時獲得相同的文本。也許一個簡單的腳本來做到這一點。任何想法或建議。謝謝腳本查看文本文檔的內容並將文本添加到每行的開頭

+0

請多一點信息。你的腳本是什麼意思?這是一個bash,你有unix binutils可用於腳本?它應該與python/php/perl交叉平臺嗎? – inVader 2012-07-24 15:31:29

+0

我有一個包含數百行的文本文件。我需要在每行的開頭插入文本。試圖找出將文本添加到文本文檔中的每一行而不必手動執行每行的方法。 – 2012-07-24 15:35:35

+0

下面的答案可以幫助你嗎?如果不是,你在運行什麼操作系統,你有什麼工具可用? SED應該在大多數Linux發行版中都是標準的,但你也可以在Win上獲得它。 – inVader 2012-07-24 15:46:47

回答

2

其中一個easist方式將使用sed(流編輯器),它可以從文件或標準輸入讀取。它在逐行的基礎上進行,可以對整個文件或特定的子範圍應用內容修改。這是你想要做什麼:

sed -i 's/^/TEXT/' FILENAME 

-i選項告訴sed編輯「到位」的文件,這意味着它的直接寫入文件,而不是去到stdout。原始文件被覆蓋。如果您想保留原始數據,只需省略此選項,並通過將> NEWFILE添加到上面的命令行,將輸出傳輸到另一個文件。

s sed中的命令是搜索/替換。它將在每一行中用第二種模式替換第一種模式的第一次出現。您可以在末尾添加g以替換任何行中的第一個模式的每個出現,但由於您匹配行的開頭,因此這裏並不是特別有用。

這裏的第一個模式是^這是在正則表達式中表示行開頭的保留字符。所以它會在出現任何其他文字之前添加第二個圖案TEXT

當然,如果你必須以這種方式批量處理許多文件,你可以從腳本中調用它。希望有所幫助。

0

如果你想這樣做的公平交叉平臺,你可以寫一個簡短的Python腳本。

inputFile = open("fileNameInput") 
outputFile = open("fileNameOutput", "w") 

for inputLine in inputFile: 
    outputFile.write("your text" + inputLine + "\n") 

inputFile.close() 
outputFile.close() 
0

也可以在VB腳本中輕鬆完成。如果你正在尋找一個本地Windows解決方案,使用這個小腳本片段:

Set FSO = CreateObject("Scripting.FileSystemObject") 

Set inputFile = FSO.OpenTextFile("inputFilePath", ForReading) 
Set outputFile = FSO.OpenTextFile("outputFilePath", ForWriting) 

Do Until inputFile.AtEndOfStream 

     outputFile.Write("Your Text" & inputFile.ReadLine) 

Loop 

inputFile.Close 
outputFile.Close