合并在像粘贴命令
回答
只是找到了一种方法做,
for file in `cat tmp1`
do
for f in `cat tmp2`
do
echo $file $f
done
done
[不要用'for for'读取行](http://mywiki.wooledge.org/DontReadLinesWithFor)。另外,通常最好使用文本处理工具。 –
如果行的顺序不是那么重要
awk 'FNR==NR{a[$0];next}{for(i in a){print $0,i}}' tmp2 tmp1
如果要恢复订单:
awk 'FNR==NR{a[FNR]=$0;l=FNR;next}{for(i=1;i<=l;i++){print $0,a[i]}}' tmp2 tmp1
我不知道你为什么要特别提出'nawk';这应该在任何版本中工作。您可以在第一个块中使用'a [++ n] = $ 0'来跟踪行数。 –
$ while read a; do while read b; do echo $a $b; done<tmp1; done<tmp2
vol1 1
vol1 2
vol1 3
vol2 1
vol2 2
vol2 3
或者用一个更好的缩进:
while read a; do
while read b; do
echo $a $b
done <tmp1
done <tmp2
对于在tmp2
文件中的每个字,回声它随后在tmp1
文件中的每个字。
如果在这两个文件中的实际数据包含反斜杠,或者如果tmp2
文件包含在第一列破折号,那么下面会有一个更好更强大的解决方案:
while read -r a; do
while read -r b; do
printf '%s %s\n' "$a" "$b"
done <tmp1
done <tmp2
我建议总是使用'read -r'并引用你的变量。另外,请考虑使用'printf'%s%s \ n'“$ a”“$ b”'。 –
@TomFenech你说得对,但我们得到了一组特定的数据。不过,我会更新答案。 – Kusalananda
@TomFenech在这种情况下使用printf有什么好处?另外,因为变量是否包含空格并不重要,在这种情况下,引用严格来说是不必要的。 – Kusalananda
- 1. 粘贴命令
- 2. 钩字粘贴命令
- 3. Eclipse“粘贴”命令破解
- 4. 在某种循环,粘贴命令
- 5. 在unix中粘贴执行命令
- 6. 在jpeg图像上粘贴或合并透明支持图像
- 7. 结合图例和粘贴命令在基地R的阴谋
- 8. 粘贴输出到bash的一个CSV文件,粘贴命令
- 9. 在Windows命令提示符下粘贴但不执行命令
- 10. 粘贴tee命令的结果
- 11. 复制/粘贴从emacs的命令行
- 12. 翻转粘贴命令输出
- 13. 粘贴命令留下空行
- 14. 将sql粘贴到mySql命令行中?
- 15. Sharepoint 2010功能区粘贴命令
- 16. neo4j浏览器粘贴多个命令
- 17. vim:从命令行删除(剪切)并放入(粘贴)
- 18. 合并和R中粘贴重复列
- 19. cbind或通过粘贴名称合并?
- 20. 命令合并
- 21. 复制并粘贴在QTableView
- 22. 粘贴图像excel
- 23. 令牌粘贴和__LINE__
- 24. TF合并命令
- 25. 在命令中输入输入流的某个字段,并粘贴结果
- 26. 在R中使用粘贴来连接命令
- 27. 在R添加““”报价粘贴命令里面
- 28. 任何vim命令在粘贴后进入插入模式?
- 29. 在vim中以命令模式或搜索模式粘贴(/)
- 30. 在R的粘贴命令中使用'sep'有什么用?
请格式化正确的问题,检查[问]并显示你的努力。 – fedorqui
这完全不同于'paste'命令... – Kusalananda