如何使用linux shell创建具有重复值列表的文件



我有一个文本文件,其中包含一个值列表:

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来限制它。)

相关内容

  • 没有找到相关文章

最新更新