2012-04-13 2 views
0

파일 minimumThickness * .k에서 일부 데이터를 추출하여 파일 results.txt에 넣으 려합니다. mimimumThickness * .k 파일의 첫 번째 줄에는 이중 값만 있습니다. 파일에서 데이터를 추출하고 sed를 사용하여 linux에서 대상 파일에 추가

파일 minimumThickness.k

1에서 내가 할 다음 명령을 사용하지만, 성공하지 못한 백
mimimumThickness1.k 
mimimumThickness2.k 
mimimumThickness3.k 
. . . 
. . . 
mimimumThickness100.k 

좋아하는 일련의 파일입니다.

sed -n '/^[0-9.]*$/w results.txt' minimumThickness*.k 

또한

for loop of i over 1 to hundred 

thickness=´cat minimumThickness$i.k | {print $1} ' | bc` 
echo $thickness 
thickess >> results.txt 

친절 SED의 문제에 대해 말해거나 나에게 나오지 사용하는 더 좋은 방법을 제안 사용할 수 있습니다. 그것은 어떤 elegent 방법을 고맙게 여길 것이다.

최고.

답변

0

[0-9.] *와 일치하므로 예상 결과가 표시되지 않을 수 있습니다. [0-9] * \. [0-9] *를 사용하여 복식을 얻을 수 있습니다 (일부 수정).

+1

'[0- 9.]'모든 것이 일치하지 않습니다 :'echo '0123asdf ...'| sed 's/[0-9.] // g''는'asdf'를 출력합니다. – huon

+0

'-n' 옵션이 그것을 깨고 있습니다 (예를 들어'echo'0123asdf ... '| sed -n's/xyz // g '아무것도 인쇄하지 않습니다.) 그것없이 시도해보십시오. – huon

+0

> 안녕하세요 p1.txt 고양이 하이 세계 > 고양이 지옥 개그 9.9 > 나오지 -n '/[0-9.]*/w 경우 output.txt'* .txt 인 p2.txt> 고양이 은'*'패턴이 빈 문자열과 일치하는 것을 의미하며, 빈 문자열은 모든 것을 문자열입니다 : 안녕하세요 하이 세계 도대체 뭔가 다른입니다 개그 9.9 – Chaitanya

0

당신은 각 파일의 첫 번째 행이 필요한 경우 :

head -n 1 minimumThickness*.k > results.txt 
0

이 당신 (GNU이 나오지도)을 위해 일 수 있습니다

sed -sn '1w results.txt' minimumThickness*.k 

또는

head -qn1 minimumThickness*.k > results.txt 
관련 문제