如何使用Bash在一行代码中写入文件后打开该文件?
Bash 一行完成写入文件并打开的方法
你原来的写法存在逻辑问题:cat $(cat 1210.hc.vcf | head -n1 > ok.txt ) 中的$(...)会执行括号内的命令,但> ok.txt是重定向操作,该命令本身没有输出内容,所以最终cat和open命令后没有目标文件参数,无法正常工作。
以下是几种可行的一行命令写法:
- 用分号连接(无论文件写入是否成功,都会执行打开操作):
head -n1 1210.hc.vcf > ok.txt; open ok.txt - 用
&&连接(仅当文件写入成功时,才执行打开操作,更推荐这种稳妥的方式):head -n1 1210.hc.vcf > ok.txt && open ok.txt
另外可以简化命令:不需要通过cat传递文件内容给head,head可以直接读取文件,这样更高效。
如果你的需求是查看文件内容而非打开文件(比如用cat),写法类似:
head -n1 1210.hc.vcf > ok.txt && cat ok.txt
内容的提问来源于stack exchange,提问作者ZoooS
相关产品推荐
相关产品推荐

