레코드 구분 기호가 .인 CSV 파일이 있습니다 ,\n
. 열 중 하나에 제거하려는 탭과 새 행이 포함될 수 있습니다. \t\n\r
레코드 구분 기호가 나타날 때까지 이러한 문자( )를 어떻게 사용 및/또는 제거할 수 있습니까 ?sed
awk
답변1
여기 있어요:
cat input_file | tr -d '\r\t' | sed ': loop_start; /,$/b; N; s/\n//; b loop_start'
설명하다:
tr
-d
( ) 전체\r
및 문자를 삭제하는데 사용됩니다\t
.- 그런 다음 sed 루프(
: loop_start; ...; b loop_start
) 및 - 모든 행(
N
) 을 연결하고 - 개행 문자 제거(
s/\n//
) - 레코드 구분 기호(
/,$/
)를 찾을 때까지 b
다음 입력 줄로 스크립트를 다시 시작하는 스크립트 끝( )으로 분기합니다 .