生成一个.tab文件,其文件名和路径由tab分隔

问题描述

我刚刚开始学习linux CLI。我正在使用snippy工具比较需要.tab格式文件的多个文件。此制表符格式的文件应由以制表符(\ t)分隔的路径和文件名组成。

我已经分别运行这两个命令来生成文件名和路径的列表。

find $(pwd)/*.fna > /home/fan/onas/filenames.tab

ls > filenames.tab

但是每当我运行此命令来检查文件中的选项卡时。文件内没有选项卡(\ t)。

cat -vet filenames.tab

我也使用此命令将\ n替换为\ t。但这在这里不起作用。

sed 's/\n/\t/g' filenames.tab > file2.tab

简而言之,我正在尝试生成一个文件名和路径,这些文件名和路径由制表符或.tab格式分隔。有人可以帮我吗? 谢谢

解决方法

命令printf ...

printf "%s\t" $(ls -A $(pwd)) >files.tab

...格式化ls -A(也是隐藏文件)的输出,并用制表符分隔为{>)个files.tab。

如果您的printf也支持-v,那么您可以...

printf -v FILES "%s\t" $(ls -A $(pwd))
echo ${FILES}

但是标签不幸地迷路了。将其写入第一个示例中所示的文件即可对其进行纠正...

printf "%s\t" ${FILES} >files.tab

想知道为什么只有一个%s\t吗?嗯,就像数组上的foreach。对于空格分隔列表printf中的每个元素,请执行%s\t并丢弃其他空格。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...