[英]Unix Shell Scripting removing - from file
我有一個包含以下信息的文件
job, cost_code, laborcost,materialcost
202-12-21, 23-94-23, **110.00-**, 120.04
204-12-21, 23-93-23, 520.00, **120.04-**
204-12-12, 24-93-23, 155.00, **120.04-**
幾乎沒有問題記錄,特別是在行的末尾有一個-sign(用**
標記,文件中並不存在)。
我正在嘗試刪除帶有正則表達式的 - 符號,但我只能找到有問題的數量。
試試這個,這個命令刪除行尾的破折號
sed s'/-$//'
echo "204-12-21, 23-93-23, 520.00, 120.04-" | sed s'/-$//'
你可以使用sed
:
sed -i~ 's/\([0-9]\)-,/\1,/g;s/-$//' input.csv
第一個表達式找到一個數字后跟-,
並用數字和逗號替換它; 第二個表達式刪除行末尾的破折號。
這可能適合你(GNU sed):
sed -r 's/-(,|$)/\1/g' file
從行的最后一個字段中刪除逗號或連字符前的連字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.