1

我只是在寻找一种快速的方法来查看文本文档的内容,然后将文本添加到每行的开头。每一行都会在开头得到相同的文本。也许是一个简单的脚本来做到这一点。任何想法或建议。谢谢

4

3 回答 3

2

一种简单的方法是使用可以从文件或标准输入中读取的sed (流编辑器)。它是逐行进行的,并且可以对整个文件或特定子范围的内容进行修改。这就是你想要做的:

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

-i选项告诉 sed “就地”编辑文件,这意味着它直接写入文件而不是进入标准输出。原始文件被覆盖。如果您想保留原始数据,只需省略此选项,并通过将> NEWFILE附加到上面的命令行,将输出通过管道传输到不同的文件中。

sed 中的s命令是搜索/替换。它将在每一行上用第二个模式替换第一个模式的第一次出现。您可以在末尾添加g以替换任何行中第一个模式的每次出现,但由于您匹配行的开头,这在这里不是特别有用。

这里的第一个模式是^,它是正则表达式中的保留字符,表示行的开头。所以它只会在出现任何其他文本之前添加第二个模式TEXT 。

当然,如果您必须以这种方式批处理许多文件,您可以从脚本中调用它。希望有帮助。

于 2012-07-24T15:34:48.377 回答
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
于 2012-07-24T16:33:56.990 回答
0

如果你想完全跨平台,你可以编写一个简短的python脚本。

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

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

inputFile.close()
outputFile.close()
于 2012-07-24T15:53:08.650 回答