bash - 修剪 .txt 文件中行的结尾空白
问题描述
我正在尝试删除包含许多行的 file.txt 的最后一个空格。我只需要在第三列/每行之后删除“仅最后一个空格”。我的文件如下所示:
3 180 120
3 123 145
6 234 0
4 122 12
我一直在尝试使用以下脚本,但到目前为止它不起作用。有人可以帮助我吗?
#!/bin/bash
var="val1 val2 val3 "
var="${var%"${var##*[![:space:]]}"}"
echo "===$var===" <Antart_csv1_copy.txt> trimmed.txt
解决方案
您可以使用 sed:
sed -i -e 's/ $//g' filename.txt
-i
将使命令就地(更改原始文件)-e 's/ $//g'
将采用正则表达式<space><endline>
并将其更改为空。修饰符g
使其适用于文件中的所有行
您可以先尝试不使用-i
并重定向输出:
sed -e 's/ $//g' filename.txt > trimmed.txt
推荐阅读
- string - 定义多个隐式值时无法解析符号 X
- angular - 尽管我的组件中已加载数据,但角度 maerial 数据表无法正常工作
- jquery - 单击父div时隐藏外部元素
- reactjs - 需要子组件的功能组件的 Typescript 接口
- 8thwall-web - XrController.hitTest not returning any ESTIMATED_SURFACE or DETECTED_SURFACE results
- javascript - 将 javascript 库导入 React Native
- linux - 如何通过docker部署web控制台,docker run -d -p 80:80 -v
:/var/lib/mongodb --name, 什么是主机绝对路径? - android - 如何从 BottomSheetFragmentDialog 传递数据?
- c++ - 如何在不更改其键的情况下增加哈希表的特定值?
- javascript - How to make php IF statement between Javascript variable and php value on page load without submitting form