【发布时间】:2011-04-07 21:43:49
【问题描述】:
我有一堆文本文件,其中既有字符串又有数字,但字符串只是在前几行。
我正在尝试编写一个脚本,该脚本进入我的文件夹搜索文件夹中的所有文件并从文件中删除文本并将其余部分按原样写入新的文本文件中。
有人知道吗?
【问题讨论】:
-
文件内容的样本会有很大帮助,你不觉得吗?
标签: matlab file-io text-files
我有一堆文本文件,其中既有字符串又有数字,但字符串只是在前几行。
我正在尝试编写一个脚本,该脚本进入我的文件夹搜索文件夹中的所有文件并从文件中删除文本并将其余部分按原样写入新的文本文件中。
有人知道吗?
【问题讨论】:
标签: matlab file-io text-files
我不认为这是对 MATLAB 的好用。
我认为你最好在 Python 或 shell 中编写脚本。如果您在 *nix 或 mac 上并且您的文件都在同一个目录中并且都具有文件扩展名 .txt,那么这是您可以在 shell 中使用 tr 的一种方法:
#!/bin/sh
for i in `ls *.txt`
do
cat $i | tr -d "[:alpha:]" > $i.tr.txt
done
跑步。将上面的代码保存为文件,使其可执行(chmod a+x 文件名),然后在包含文本文件的目录中运行它。
【讨论】:
tail 命令来跳过这些行。
files = dir('data*.txt'); for i = 1 : numel(files) data = importdata(files(i).name,'nheaderlines',4); %do something with the data end
如果字符串行数始终相同,您可以使用带有 'headerlines' 选项的 textread() 跳过这些字符串行,然后将整个文本缓冲区写出。
【讨论】: