즉, 태그 사이의 입력을 다듬고 래핑 sed
해야 하는 작은 명령이 있습니다 . 단일 및 여러 줄 입력에서는 잘 작동하지만 입력 파일(전달 또는 인수) 에서는 제대로 작동하지 않습니다."
<id>
cat
sed
head
예제 출력(및 파일의 최종 명령)
~> echo 200 | sed 's/"//g;s/^/<id>/g;s/$/<\/id>/g'
<id>200</id>
~> sed 's/"//g;s/^/<id>/g;s/$/<\/id>/g' <<EO
heredoc> 2301930
heredoc> 1230910293
heredoc> 102391093
heredoc>
heredoc> EO
<id>2301930</id>
<id>1230910293</id>
<id>102391093</id>
<id></id>
~> cat job.csv | sed 's/"//g;s/^/<id>/g;s/$/<\/id>/g' | head
</id>79116
</id>79125
</id>79126
</id>78327
</id>78284
</id>78288
</id>78291
</id>78304
</id>78311
</id>78335
~> head job.csv
"179116"
"179125"
"179126"
"178327"
"178284"
"178288"
"178291"
"178304"
"178311"
"178335"
문제가 무엇이라고 생각하시나요?
답변1
job.csv에서 MS 줄이 끝나나요?
less job.csv
일반적으로 줄 끝에 ^M을 표시합니다(그렇다면).
답변2
그렇지 않다면 더 나을 수도 있습니다.쓸모 없는cat
:
$ cat test.csv
"179116"
"179125"
"179126"
"178327"
"178284"
"178288"
"178291"
"178304"
"178311"
"178335"
$ sed 's/"//g;s/^/<id>/g;s/$/<\/id>/g' test.csv
<id>179116</id>
<id>179125</id>
<id>179126</id>
<id>178327</id>
<id>178284</id>
<id>178288</id>
<id>178291</id>
<id>178304</id>
<id>178311</id>
<id>178335</id>