将文件名写入第一行文本

时间:2016-05-25 23:32:44

标签: r string

我有使用grep()操作的文本文件,我想将文件名添加到第一行文本中。我是R的新手并坚持下去。有什么建议?谢谢!

2 个答案:

答案 0 :(得分:0)

我不确定文本文件的内容应该是什么,但如果该文件有一个有效的注释字符,我建议将其放在文件名前面。您可以结合使用readLineswrite来完成此操作。

首先,您需要使用readLines阅读文件的内容。然后创建文件名的向量,然后是readLines的内容。然后将向量写回它来自的文件。

说实话,将它写入不同的文件而不是改变你的源材料会更好,但是我会留给你弄清楚你想要如何管理它。下面的代码使用临时文件进行说明

#* Create a temporary file
this_file <- tempfile("an_example_file", tmpdir = getwd(), fileext = ".txt")

#* Populate the file with some text
write(LETTERS, this_file)

#* Here's the real start of the solution
file_text <- readLines(this_file)

write(
  paste0(
    c(sprintf("## %s \n\n", this_file),
      file_text)
  ),
  this_file
)

#* see the changes
readLines(this_file)

#* cleanup
file.remove(this_file)

答案 1 :(得分:0)

filename <- 'whatever.txt'
file.text <- readLines(filename)
file.text <- c(filename, file.text) # adds filename to beginning of file.text
fileConn<-file(filename)
writeLines(file.text, fileConn)
close(fileConn)