범위가 두 개의 변수로 설정되는 파일에서 열 범위를 출력합니다.

범위가 두 개의 변수로 설정되는 파일에서 열 범위를 출력합니다.

범위가 두 개의 변수로 설정되는 파일의 열 범위를 출력하고 싶습니다.

정말 힘들어요. 나는 cut이 가장 좋은 도구라고 생각하지만, 내가 아는 한 범위를 지정하는 변수를 허용하지 않습니다.

탭으로 구분된 파일입니다. 나는 시도했다:

Column=8401    

awk -F $'\t' -v c=$Column '{ for (x=1; x<=c; x++) {  printf "%s\n", $x } }' ~/file.txt > ~/file1.txt

그러나 이것은 작동하지 않습니다(목표는 1에서 8401까지의 열 범위를 선택하는 것입니다).

입력과 출력의 예를 들어보자:

ColumnStart=1    
ColumnEnd=3

입력하다:

12   33   55   23   13   88

$column내가 출력할 $ColumnStart변수를 사용하여$ColumnEnd

산출:

12   33   55

답변1

다음과 같은 변수를 사용하십시오.

cut -f${ColumnStart}-${ColumnEnd}

(변수에 항상 적절한 값이 포함되어 있다고 가정합니다...)

관련 정보