วิธีที่มีประสิทธิภาพที่สุดในการแปลงข้อมูลที่คั่นด้วยแท็บเช่นนี้คืออะไร:
a b c d cat
NULL NULL NULL NULL NULL
NULL NULL NULL d d
NULL NULL c NULL c
NULL NULL c d c; d
NULL b NULL NULL b
NULL b NULL d b; d
NULL b c NULL b; c
NULL b c d b; c; d
a NULL NULL NULL a
a NULL NULL d a; d
a NULL c NULL a; c
a NULL c d a; c; d
a b NULL NULL a; b
a b NULL d a; b; d
a b c NULL a; b; c
a b c d a; b; c; d
บางสิ่งบางอย่างใกล้เคียงกับสิ่งนี้:
a | b | c | d | cat
-----+------+------+------+-----------
NULL | NULL | NULL | NULL | NULL
NULL | NULL | NULL | d | d
NULL | NULL | c | NULL | c
NULL | NULL | c | d | c; d
NULL | b | NULL | NULL | b
NULL | b | NULL | d | b; d
NULL | b | c | NULL | b; c
NULL | b | c | d | b; c; d
a | NULL | NULL | NULL | a
a | NULL | NULL | d | a; d
a | NULL | c | NULL | a; c
a | NULL | c | d | a; c; d
a | b | NULL | NULL | a; b
a | b | NULL | d | a; b; d
a | b | c | NULL | a; b; c
a | b | c | d | a; b; c; d
ขณะนี้ฉันใช้ Notepad ++ ดังนี้:
- แปลงแท็บเป็นช่องว่าง
- จัดแนวข้อมูลด้วยตนเอง
- ใช้โหมดคอลัมน์เพื่อแทรกไปป์
ขั้นตอนที่สองเป็นขั้นตอนที่น่าเบื่อที่สุดและฉันอยากจะมีส่วนนี้โดยอัตโนมัติ
หมายเหตุ: ฉันใช้เบราว์เซอร์เมื่อทำงานและบางครั้งฉันเปิดโปรแกรมแก้ไขข้อความไว้ข้างๆ ทางออกที่มีประสิทธิภาพเป็นวิธีหนึ่งที่ต้องใช้ความพยายามน้อยที่สุด ฉันสามารถใช้:
- Notepad ++
- โปรแกรมแก้ไขข้อความทั่วไปพร้อมรองรับการค้นหา / แทนที่ regexp
- พิมพ์ JavaScript ภายในคอนโซลเบราว์เซอร์
- บริการเว็บออนไลน์
- PHP ในบรรทัดคำสั่ง (
php -a
)
awk
สคริปต์ง่ายๆ
{{(⊃⍵)⍪⍉⍪↑¨↓⍉↑1↓⍵}s¨'⎕T'⎕T¨(s←1↓¨⊢⊂⍨⊢=⊃)¯1⌽⍵}
ดูเหมือนจะดีพอที่จะทำงานใช่มั้ย)