如何使用Command sed删除空白

时间:2019-07-04 07:58:44

标签: shell sed

我的问题是我有一个脚本来创建一个文件,其中包含用a分隔的数据; 我要删除的最后一个冒号包含白色(介于之间;以及诸如text.csv之类的值),我对sed应用了很多命令,但没有任何改变。 我尝试过的命令:

for (int i = 0; i + 20 <= line.size(); i += 20) {
   double number;
   istringstream(line.substr(i, 20)) >> number;
   value.push_back(number);
}

我的text.csv是:

sed '/[ /]*$/d' test.csv
sed -e '/^; *$/d'
sed '/^; *$/d'
sed -e 's/[ ]*;=[ ]*/;=/g'
sed -e 's/[ ]*;[ ]*/;/g'
sed -e 's/; *;/;/g' ( déja fonctionner sur un autre fichier mais pas celle que je veux)
sed -e 's/;= *;/;/g'
tr -d ' '

2 个答案:

答案 0 :(得分:0)

您可以尝试:

sed 's/ //g' text.csv

输出

=("FRO-GEPSA018");=("34212254600225");01-07-2019/31-07-2019;1789,32
=("FRO-GNVERT01");=("41985346000584");01-07-2019/31-07-2019;466,84
=("FRO-ESGED01");=("53983181800064");01-07-2019/31-07-2019;4788,55
=("FRO-SGE");=("54209732400017");01-07-2019/31-07-2019;1587,78
=("FRO-STO");=("54209732400025");01-07-2019/31-07-2019;798,28
=("FRO-ELOC005");=("55204695500985");01-07-2019/31-07-2019;4585
=("FRO-ELOC002");=("55204695502627");01-07-2019/31-07-2019;1997,54
=("FRO-IDFTRT08");=("55204695503542");01-06-2019/30-06-2019;-30,45
=("FRO-IDFTRT08");=("55204695503542");01-07-2019/31-07-2019;507,58
=("FRO-ELOC015");=("55204695503682");01-07-2019/31-07-2019;1393,28
=("FRO-IDFTRT02");=("55204695504060");01-07-2019/31-07-2019;10,31
=("FRO-IDFTRT10");=("55204695504581");01-07-2019/31-07-2019;1035,77
=("FRO-ELSIEGNE");=("55204695506040");01-07-2019/31-07-2019;2749,91
=("FRO-BUB2B01");=("55204695506065");01-06-2019/30-06-2019;369,06
=("FRO-SCDC01");=("74542015800024");01-07-2019/31-07-2019;1231,65

答案 1 :(得分:0)

如果您尝试的所有替换模式(包括上一个答案中的模式)均无效,则您的白人必须是空格以外的其他字符,因此请不要使用使用{ {1}}。