0

我有一个包含值列表的文本文件:

ASDSAV
ASDSAD
ASDFSA

并且需要得到

ASDSAV        7
ASDSAD        7
ASDFSA        7

即加入一个只有一列7s的文件(可以通过粘贴轻松实现)

7
7
7

是否有简单的命令来创建这个 7s 文件?

4

5 回答 5

2
awk '{print $0, "7"} ' inputfile > newfile

不需要单独的 7 文件

于 2013-02-07T02:40:23.083 回答
2

问题实际上是如何创建一个包含sevens 列表的文件。

您可以使用一些 coreutils:

printf '7\n%.0s' $(seq $(wc -l < file)) > output.txt

awk

awk '{ print "7" > "output.txt" }' file

sed

sed 's/.*/7/' file > output.txt
于 2013-02-07T02:46:53.983 回答
1

awk '{print $1 " 7"}' temp.dat; 其中 temp.dat 是您的原始文件。

于 2013-02-07T02:42:28.087 回答
1

全能的SED

sed -e "s/$/7/" f1 > f2 

愿你的 AWKS 在他的脚前崩溃

旁注:如果你想在 sed 中将 7 标记出来,那就是

sed -e "s/$/<ctrl+v><tab>7/" f1 > f2 
于 2013-02-07T02:43:35.653 回答
0

yes命令提供了无限量的参数:

yes 7 | head -n $(wc -l < file.txt) | paste file.txt -

(很高兴知道yes,但在这种情况下它有点笨拙。paste用空行自动扩展较短的输入文件,并且 - 提供的yes标准输入是无限长的,没有head限制它。)

于 2013-02-17T18:11:40.887 回答