使用shell脚本在每行文本文件的开头插入文本[重复]

Posted

技术标签:

【中文标题】使用shell脚本在每行文本文件的开头插入文本[重复]【英文标题】:Inserting text at begining of each line of text file using shell script [duplicate] 【发布时间】:2013-08-15 23:14:41 【问题描述】:

我的任务是在每行文本文件的开头输入单词 http://。如何使用 shell 脚本来做到这一点

我的文本文件是这样的:

agr.nc.in
mpi.ni.in
ir.o.in
chemis.go.in
da.ni.in
dgt.go.in
dgn.go.in

输出文件应该是这样的:

http://agr.nc.in
http://mpi.ni.in
http://ir.o.in
http://chemis.go.in
http://da.ni.in
http://dgt.go.in
http://dgn.go.in

【问题讨论】:

“行首”的正则表达式是^ 【参考方案1】:

你可以使用 sed:

$ echo -e 'foo\nbar\nbaz'
foo
bar
baz
$ echo -e 'foo\nbar\nbaz' | sed 's|^|http://|'
http://foo
http://bar
http://baz

【讨论】:

【参考方案2】:

使用 sed 就地编辑:

sed -i 's|^|http://|' infile

仅使用 shell:

while read LINE || [ "$LINE" ];do echo "http://$LINE";done <infile >outfile

【讨论】:

【参考方案3】:
awk '$0="http://"$0' your_file

【讨论】:

以上是关于使用shell脚本在每行文本文件的开头插入文本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将 Beeline 生成的表格重定向到没有网格的文本文件(Shell 脚本)

如何在 vi/Vim 中的多行选择的开头插入文本

shell脚本检测IP地址

shell之awk

创建shell脚本

文本区域 (JTextArea) 的自动文本滚动,插入符号位置设置为最后一行的开头