![디렉터리 경로의 파일 이름만 캡처 [닫기]](https://linux55.com/image/169369/%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%20%EA%B2%BD%EB%A1%9C%EC%9D%98%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%EB%A7%8C%20%EC%BA%A1%EC%B2%98%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
필요하다
Col1 , Col2 , Col3 , Col4
1 , a:/b/c/abc.txt , f:/b/c/abc1.txt , a:/b/c/abc6.txt
2 , b:/bd/a/s/3/d/mon.dat , g:/b/c/abc 2.txt, b:/b/c/ab7.txt
3 , c:/j/h/4/u/y/d/m/ttt.dat, h:/b/c/abc 3.txt, c:/b/c/abc 8.txt
4 , c:/j/h/4/test1.msg , i:/b/c/abc4.txt , d:/b/c/abc 9.txt
5 , d:/iasa/dda/dia/yyy.dat , j:/b/c/abc5.txt , e:/b/c/abc 10.txt
O/P가 기대된다
Col1 , Col2 , Col3 , Col4
1 , abc.txt , abc1.txt , abc6.txt
2 , mon.dat , abc2.txt , abc7.txt
3 , ttt.dat , abc3.txt , abc8.txt
4 , test1.msg , abc4.txt , abc9.txt
5 , yyy.dat , abc5.txt , abc10.txt
답변1
공간분포에서는 어떤 체계도 유추할 수 없기 때문에 어떤 형식으로 추측했을 뿐입니다. 취향에 맞게 자유롭게 조정하세요.
awk -F, '{gsub (/ |\r/, ""); printf "%-4s ", $1; for (i=2; i<=NF; i++) {n=split($i, T, "/"); printf ", %-10s ", T[n]} printf RS}' OFS=, file
Col1 , Col2 , Col3 , Col4
1 , abc.txt , abc1.txt , abc6.txt
2 , mon.dat , abc2.txt , ab7.txt
3 , ttt.dat , abc3.txt , abc8.txt
4 , test1.msg , abc4.txt , abc9.txt
5 , yyy.dat , abc5.txt , abc10.txt
답변2
사용 sed
및 column
:
$ sed 's/ //g; s/,[^,]*\//,/g; s/,/ , /g' file | column -t
Col1 , Col2 , Col3 , Col4
1 , abc.txt , abc1.txt , abc6.txt
2 , mon.dat , abc2.txt , ab7.txt
3 , ttt.dat , abc3.txt , abc8.txt
4 , test1.msg , abc4.txt , abc9.txt
5 , yyy.dat , abc5.txt , abc10.txt
- 모든 공백 문자를 빈 문자열로 바꾸기
,
다음의 모든 비문자를 다음,
으로 바꾸십시오./
,
- 모두
,
다음으로 교체,
- 테이블로 예쁜 인쇄 출력
column