Perl:在一行开头添加字符

时间:2011-07-27 15:55:18

标签: regex perl bash

我想在文本文件的每一行的开头添加一个“字符。有没有简单的解决方案?

3 个答案:

答案 0 :(得分:6)

perl -p -e 's/^/"/' myfile应该这样做!

$ cat myfile 
0
1
2
3
4
5
6
7
8
9
10
$ perl -p -e 's/^/"/' myfile
"0
"1
"2
"3
"4
"5
"6
"7
"8
"9
"10

答案 1 :(得分:2)

另外几条建议:

就在shell中:

tmp=$(mktemp)
while read -r line; do printf '"%s\n' "$line"; done < filename > "$tmp" &&
mv "$tmp" filename

ED:

ed describes.sql.bak <<'END'
1,$s/^/"/
w
q
END

答案 2 :(得分:1)

我会考虑其中一种方式:

perl -pi.bak -e 's/^/"/' inputfile.txt

编辑文件,将备份保存在“inputfile.txt.bak”。

perl -pe 's/^/"/' inputfile.txt > outputfile.txt

使用shell重定向将输出打印到新文件。