2014-07-15 4 views
1

wpa_supplicant.conf 파일이 있습니다 (Wi-Fi 개발자는 익숙 할 수 있음). 나는 다른 파일에 그것의 시작 부분에 가변 개수의 라인을 복사하고 싶다. network={.. 부분은 변수입니다 위의 라인 그러나 수를 시작쉘 스크립트를 사용하여 한 파일에서 다른 파일로 다양한 수의 행을 복사하는 방법은 무엇입니까?

ctrl_interface=wlan0 
update_config=1 
device_type=0-00000000-0 

network={ 
.. 

처음 몇 줄 후 : 모든 wpa_supplicant를 다음과 같은 형식을 가지고있다. 미리 몇 줄이 있는지 모르겠습니다. 쉘 스크립트를 사용하여 network{.. 이전의 모든 부분을 다른 파일에 복사 할 수 있습니까?

답변

2

awk에 대한 고전적인 사용 사례는 다음과 같습니다

awk '{ if ($0 ~ /network=\{/) { exit } print }' wpa_supplicant.conf > /some/file 

복사 자체는 사소하고 간단한 재 >을 통해 이루어집니다. 참고/some/file을 덮어 씁니다. 덮어 쓰지 않고 파일에 추가하려면 >>을 사용하십시오.

더 흥미로운 읽기 및 인쇄 라인으로 wpa_supplicant.conf 라인을하고 곧 선이 정규 표현식 network=\{ 일치로 중지 될 awk 스크립트로 구성되어 첫 번째 부분입니다. 이 스크립트의 작동 방식을 자세히 설명하지 않겠습니다. awk에 익숙하지 않은 경우 시간 제한 조건에서 이러한 종류의 작업을 수행해야 할 때 매우 편리하기 때문에이 스크립트를 읽어야합니다. .

+0

굉장! 나는'awk'에 관해 읽을 것이다. 편리한 것처럼 보입니다. –

관련 문제