【发布时间】:2019-08-16 18:54:58
【问题描述】:
我有大约 50 个数据文本文件需要从中删除几列。
我一直在使用cut 命令单独删除和重命名它们,但我将拥有更多文件并且需要一种方法来大规模执行此操作。
目前我一直在使用:
cut -f1,6,7,8 filename.txt >> filename_Fixed.txt
我可以使用以下方法从所有文件中删除列:
cut -f1,6,7,8 *.txt
但我只能在终端中获取所有输出,或者我可以将其写入单个文本文件。
我想要的是使用 cut 编辑几个文件以删除所需的列:
filename1.txt
filename2.txt
filename3.txt
filename4.txt
.
.
.
并将编辑后的输出写入单个文件:
filename_Fixed1.txt
filename_Fixed2.txt
filename_Fixed3.txt
filename_Fixed4.txt
.
.
.
但一直无法找到将输出写入新文本文件的方法。我是使用命令行的新手,而且编码人员不多,所以也许我不知道要搜索哪些术语?我什至无法在谷歌搜索中找到任何对我有帮助的东西。看起来应该很简单,但我很挣扎。
无奈之下,我确实尝试了这段代码,但知道它不起作用:
cut -f1,6,7,8 *.txt >> ( FILENAME ".fixed" )
我发现">>" 之后的部分嵌套在输出多个文件的awk 命令中。
我也尝试(再次知道它行不通)对输出文件进行通配符,但得到了一个模棱两可的重定向错误。
【问题讨论】:
标签: bash shell text command-line filenames