쉘 스크립트를 생성하려고 하는데, 아래는 파일의 레코드에서 일부 값을 추출하려는 부분입니다.
tgt_val=`cat $file_name | grep "$string_name" | cut -d"|" -f$column_no`
이 방법은 지정된 열에 특정 숫자 또는 문자열 값이 있으면 제대로 작동하지만 열 값이 " * "이면 실패합니다.
예를 들어:
102|Sam|*|USA
이 명령은 열 1,2,4에서 잘 작동합니다.
그러나 열 3의 경우 현재 디렉터리에 있는 모든 파일의 출력이 제공됩니다.
누군가 이 문제를 해결하도록 도와주세요.
답변1
무슨 일이 일어나고 있는지 *
쉘이 어떤 방식으로든 해석하고 있다는 것입니다. 추출된 모든 필드가 항상 올바르게 인용되었는지 확인하세요.