bash - 使用cut命令后如何制作和命名多个文本文件?
问题描述
我有大约 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
输出多个文件的命令中找到了该部分。
我也尝试(再次知道它不起作用)对输出文件进行通配符,但得到了一个模棱两可的重定向错误。
解决方案
你试过了for
吗?
for f in *.txt ; do
cut -f 1,6,7,8 "$f" > $(basename "$f" .txt)_fixed.txt
done
(注意我现在不能尝试basename
,你可以用 替换它"${f}_fixed"
)
推荐阅读
- java - mapstruct - 目标有效负载是子类,没有转换为真实类型?
- python-3.x - Python Google Sheets API 通过一次批量更新进行值更新和工作表属性更新
- python - 将python中SortedSet类型的cassandra结果集转换为Json字符串集
- powershell - 如何从 PowerShell 向控制台应用程序发送输入
- python - 字符串枚举
- sql-server - IntegrationServices 对象中不存在 Azure SSIS 目录
- arraylist - 处理:如何在数组列表中添加多个 getchild() 对象
- excel - 格式化日期列中的某些单元格出现在 mm-dd-yyyy 中,而其余单元格为 dd-mm-yyyy
- c++ - ADT 将对象保存到类
- asp.net - 为 ASP.NET Core 集成测试设置文件夹