.bashrc
다음 예와 같이 파일의 명령에 별칭을 추가하고 싶습니다 .
alias take_row="cat prova.csv_001.txt | awk -v nrow="${nrow}" '{if (NR==nrow) print}'"
nrow
하지만 터미널에서 명령을 실행할 때 변수를 지정 하고 싶습니다 . 예를 들어:
take_row 1
--> 스크립트는 첫 번째 줄을 차지합니다.
take_row 20
--> 스크립트는 20번째 줄을 차지합니다.
명령에 <command> | <read nrow user input>
etc와 같은 것을 어떻게 작성합니까?
답변1
별칭 대신 함수를 사용하세요. 이 경우 위치 매개변수를 참조할 수 있습니다 $1
.
take_row () {
local nrow="$1"
cat prova.csv_001.txt | awk -v nrow="${nrow}" '{if (NR==nrow) print}'
}
이 특별한 경우에는 다음을 해결할 수도 있습니다.고양이의 쓸모없는 사용:
take_row () {
local nrow=$1
awk -v nrow="${nrow}" '{if (NR==nrow) print}' prova.csv_001.txt
}
...불필요한 코드를 제거하여 코드를 더 짧게 만드세요.
take_row () {
local nrow=$1
awk -v nrow="${nrow}" 'NR==nrow' prova.csv_001.txt
}