我想运行一行代码来创建一个文本到以逗号分隔的文件上的列输出。
我创建了一个文件,该文件导致以逗号分隔的格式创建输出。因此,所有数据都在A列中,并以,
分隔。
该文件为apilist.xls
我想添加一行代码,将此处的数据提取出来并将数据分离到各列中,类似于将excel命令文本添加到各列中。
我尝试过:
$ cat apilist.xls | tr "\\t" "," > apilist.csv
这给出了消息:
bash:$:找不到命令
它创建了apilist.csv
文件,但是其中没有数据。
关于如何进行此操作的任何建议?
$ cat apilist.xls | tr "\\t" "," > apilist.csv
定界输出-将数据从一列移至多列。
答案 0 :(得分:0)
您需要先将.xls文件转换为.csv,然后才能对其进行处理。以下是转换文件的多种方法:https://linoxide.com/linux-how-to/methods-convert-xlsx-format-files-csv-linux-cli/
然后可以使用awk在数据之间创建用逗号分隔的列。假设您有三列用逗号分隔-您需要编辑以下命令来满足您的需要:
awk -F ',' '{printf("%s %s %s\n", $1, $2, $3)}' input_file