필드가 쉼표로 구분된 파일이 있습니다.
몇 가지 입력 예:
col1,"1,2",col3
col1,"1,2,3",col3
col1,"1 2,3",col3
col1,"1 "2,3"",col3
이제 두 번째 열을 얻어야 다음을 얻을 수 있습니다.
"1,2"
"1,2,3"
"1 2,3"
"1 "2,3""
cut -d, -f2 file
내가하고 싶은 일을하지 않습니다.
그렇다면 위 입력에서 열 2를 어떻게 검색합니까?
답변1
오픈오피스가 있는 경우 이를 이용하여 파일을 열 수 있으며, 열 때 "구분자 값"을 쉼표로 설정하면 됩니다. 그런 다음 두 번째 열을 복사할 수 있습니다.
답변2
csv
Python에는 이를 자동으로 처리하는 모듈이 있습니다 . 예를 들어, 다음은 원하는 작업을 수행하는 짧은 스크립트입니다 stdin
.
import csv
import sys
for columns in csv.reader(sys.stdin, delimiter=","):
print columns[1]
파일에 저장할 수도 있고, 명령줄에서 호출하는 것도 어렵지 않습니다.
... | python -c "import csv, sys; print [c[1] for c in csv.reader(sys.stdin, delimiter=',')]"