범위가 두 개의 변수로 설정되는 파일의 열 범위를 출력하고 싶습니다.
정말 힘들어요. 나는 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}
(변수에 항상 적절한 값이 포함되어 있다고 가정합니다...)