我正在尝试删除包含许多行的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
另一个解决方案是删除每行的所有尾随空格:
while read line; do echo "${line%%*( )}" >> trimmed.txt; done < Antart_csv1_copy.txt