.data
열 형식의 숫자 테이블이 포함된 파일이 있습니다 .
m x y z vx vy vz
탭으로 구분, 깊이 2000. 파일 이름은 initc.data
.
파일의 첫 번째 열 전체의 값을 변경하고 싶습니다.
다음 명령을 사용해 보았습니다.
awk -F '$1 == 0.05' initc
그리고
awk -F '{print $1, "0.05"}' initc
파일을 열고 첫 번째 열에 값을 할당합니다 0.05
. 모두 열리지 awk
만 실행되거나 출력을 생성하지 않습니다.
관련 데이터의 예는 다음과 같습니다.
0.500000 0.500000 0.500000 0.500000 -1.500000 -1.500000 -1.500000
0.500000 0.567564 0.543674 0.536446 -1.500000 -1.500000 -1.500000
0.500000 0.454538 0.492286 0.501853 -1.500000 -1.500000 -1.500000
0.500000 0.574283 0.367439 0.668929 -1.500000 -1.500000 -1.500000
내가 찾을 수 있는 가장 관련성이 높은 질문은 다음과 같습니다.파일의 관련 데이터.
답변1
awk
최신 버전처럼 사용할 수 없습니다 sed
. 따라서 출력을 다른 파일로 지정하고 다음과 같이 새로 생성된 파일에서 가져와야 합니다.
awk '{$1="0.05"; print $0}' initc > initc.new && cat initc.new > initc
답변2
흥미로운 질문입니다. 변수를 설정한 다음 cut을 사용하여 데이터를 구문 분석하고 awk를 통해 변수의 내용을 출력 앞에 추가할 수 있습니다. (아마도 내장 함수가 이 작업을 수행할 수 있을 것입니다... 위의 방법이 작동할 수도 있습니다.)
x=$target
cat $file | cut -d" " -f2- | awk '{print info,$0 }' info=$target