검색해야 할 csv 파일이 있습니다. 문제는 그 안에 데이터가 너무 많아서 출력물을 보는 것이 조금 문제가 있다는 것입니다. 이렇게 생겼어
col1,col2,...col23
1,123,...,12.01
43,1123,...,142.455
12,63,...,723.1122
...
그래서 어떤 패턴을 적용한 후 출력을 내림차순으로 정렬하고 grep
싶습니다 . 부동 소수점 숫자를 포함합니다. 이를 수행할 수 있는 방법이 있습니까?col23
col23
내 말은 이것이다:
grep "pattern" the_file.csv | ...sort it
답변1
사용:
grep "pattern" the_file.csv | sort -t, -nk 23 | column -ts,
또는
grep "pattern" the_file.csv | sed 's/,/ /g' | sort -nk 23 | column -t
지수 표기법으로 sort -g
대체sort -n
설명하다:
sort -k 23
: 23열 기준으로 정렬sort -n
: 문자열 값을 기준으로 비교sort -g
: 일반적인 수치에 따른 비교sort -t,
: 구분 기호로 정렬,
column -t
: 공백이나 구분 기호( )를 사용하여-s<delimiter>
열을 만듭니다 .sed 's/,/ /g'
: 모든 줄 ( )에서s
( )를,
공백으로 바꿉니다.' '
g