我有一个文本文件,其中包含一个值列表:
ASDSAV
ASDSAD
ASDFSA
并且需要获得
ASDSAV 7
ASDSAD 7
ASDFSA 7
即,将其与一个只有一列7s的文件连接(这可以通过粘贴轻松实现)
7
7
7
有没有简单的命令来创建这个7秒的文件?
awk '{print $0, "7"} ' inputfile > newfile
不需要7的的单独文件
问题实际上是如何创建一个包含七个列表的文件。
你可以使用一些coreutils:
printf '7n%.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是原始文件。
ALMIGHTYSED
sed -e "s/$/7/" f1 > f2
愿你的锥子在他面前粉碎
旁注:如果你想在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
来限制它。)