。txt文件中行的末尾空白

问题描述 投票:0回答:2

我正在尝试删除包含许多行的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
bash trim
2个回答
0
投票

您可以使用sed:

sed -i -e 's/ $//g' filename.txt
  • -i将使命令就位(更改原始文件)
  • -e 's/ $//g'将采用正则表达式<space><endline>,并将其更改为空。修饰符g用于文件中的所有行

您可以先尝试不使用-i并重定向输出:sed -e 's/ $//g' filename.txt > trimmed.txt


0
投票

另一个解决方案是删除每行的所有尾随空格:

while read line; do echo "${line%%*( )}" >> trimmed.txt; done < Antart_csv1_copy.txt
© www.soinside.com 2019 - 2024. All rights reserved.