我有一个包含值列表的文本文件:
ASDSAV
ASDSAD
ASDFSA
并且需要得到
ASDSAV 7
ASDSAD 7
ASDFSA 7
即加入一个只有一列7s的文件(可以通过粘贴轻松实现)
7
7
7
是否有简单的命令来创建这个 7s 文件?
awk '{print $0, "7"} ' inputfile > newfile
不需要单独的 7 文件
问题实际上是如何创建一个包含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
awk '{print $1 " 7"}' temp.dat; 其中 temp.dat 是您的原始文件。
全能的SED
sed -e "s/$/7/" f1 > f2
愿你的 AWKS 在他的脚前崩溃
旁注:如果你想在 sed 中将 7 标记出来,那就是
sed -e "s/$/<ctrl+v><tab>7/" f1 > f2
该yes
命令提供了无限量的参数:
yes 7 | head -n $(wc -l < file.txt) | paste file.txt -
(很高兴知道yes
,但在这种情况下它有点笨拙。paste
用空行自动扩展较短的输入文件,并且 - 提供的yes
标准输入是无限长的,没有head
限制它。)