ฉันจะลบชุดของเครื่องหมายจุลภาคต่อท้ายใน bash ได้อย่างไร:
a,b,c,d,,,,
1,2,3,,,,
ผลลัพธ์ที่ต้องการ:
a,b,c,d
1,2,3
พยายามทำสิ่งนี้:
grep "5628" test.csv | sed 's/,*$//g'
แต่มันไม่ทำงาน ไฟล์มาจากเครื่องที่ใช้ Windows
2
คุณแน่ใจหรือว่ามันไม่ทำงาน? คุณใช้คำสั่งเต็มรูปแบบอะไร
—
cuonglm
บวก. มันไม่ได้
—
2980702
คุณสามารถให้คำสั่งที่แน่นอนของคุณโปรด (คน
—
roaima
sedที่คุณได้โดยไม่ต้องแสดงชื่อไฟล์ทำหน้าที่เป็นตัวกรองและไม่ประมวลผลไฟล์ที่อยู่ในสถานที่ )
grep "5628" test.csv | sed 's /, * $ // g'
—
2980702
หากคุณต้องการใช้ไฟล์ใน * nix และคุณไม่จำเป็นต้องคัดลอกกลับไปเป็น Windows มันอาจจะง่ายขึ้นในระยะยาวในการแปลงการสิ้นสุดบรรทัดจาก CR / LF เป็น NL ด้วย
—
G-Man กล่าวว่า 'Reinstate Monica'
dos2unixหรืออะไรทำนองนั้น .