在文本的每一行开头和结尾添加一个字符

在文本的每一行开头和结尾添加一个字符

我正在寻找一种方法来在 txt 文件的每一行开头和结尾添加一个字符。该文件包含一个 http 地址列表,我想在每个地址的开头和结尾添加字符 " 而不带任何空格。

答案1

如果 Python 不是一个选项,您可以使用sed

sed -i 's/^\(.*\)$/"\1"/' file

简要说明:

  • -i:就地(就地编辑文件)
  • s/^\(.*\)$/"\1"/:这将用最后两个斜杠之间的对应内容(在这种情况下,在之前保存的组的开头和结尾添加引号)替换与前两个斜杠分隔的正则表达式匹配的所有内容(在这种情况下,匹配每一行,并将^\(.*\)$该行的内容保存在组中\1,该组将在替换期间使用) 。"\1"

答案2

使用sed

sed 's/^/"/;s/$/"/' filename

^表示行的开始和$行的结束。

如果您想覆盖该文件,请使用-i选项。

sed -i 's/^/"/;s/$/"/' filename

答案3

您可以使用 python 来实现它。

只需将此代码复制粘贴到名为的文件中test.py并使用运行它即可python3

file = open("/PATH/temp.txt", "r")

text = file.readlines()
file.close()
text2 = []
for x in text:
    if x[-1] == '\n':
        text2.append('"' + x[:-1] + '"')
    else:
        text2.append('"' + x + '"')

for x in text2:
    print(x)

file = open("/PATH/temp.txt", "w")
for x in text2:
    file.write(x + '\n')

file.close()

使用要编辑的 txt 文件的适当路径编辑第一行和倒数第四行。

相关内容