2016-08-17 5 views
-4

특정 폴더에서 특정 파일을 검색하고 발견 된 경우 전체 문장을 다른 문장으로 바꾸는 스크립트를 실행하려고합니다. 내가 시도한 것은 다음과 같습니다.find + sed가 예상대로 작동하지 않습니다.

#! /bin/sh 

I=$(find /home -maxdepth 7 -iname desktop-items-0.conf -exec sed '6s/.*/teste/' {} \;) 
echo "$I" 
+0

출력을 사용 하시겠습니까? 우리에게 커다란 도움이 될지도 모릅니다. – jgr208

+0

BashFAQ # 21 (http://mywiki.wooledge.org/BashFAQ/021)이 관심의 대상 일 수 있습니다. –

+1

'desktop-items-0.conf' (최소한 6 번째 줄)의 내용과 실제 결과를 제공하는 것이 시작 지점이 될 것입니다. –

답변

0

시도해보십시오.

#! /bin/sh 
I=$(find /home -maxdepth 7 -iname desktop-items-0.conf -exec sed '6s/^.*$/teste/' {} \;) 
echo "$I" 

예 :

데스크탑 항목 - 0.conf

[*] 
    wallpaper_mode=center 
    wallpaper_common=1 
    wallpaper=/usr/share/raspberrypi-artwork/raspberry-pi-logo-small.png 
    desktop_bg=#d6d6d3d3dede 
    desktop_fg=#000000 
    desktop_shadow=#d6d6d3d3dede 
    desktop_font=Roboto Light 12 
    show_wm_menu=0 
    sort=mtime;ascending; 
    show_documents=0 
    show_trash=1 
    show_mounts=0 

다음과 같이 실행

라인 (6) 변경 후;

[*] 
wallpaper_mode=center 
wallpaper_common=1 
wallpaper=/usr/share/raspberrypi-artwork/raspberry-pi-logo-small.png 
desktop_bg=#d6d6d3d3dede 
teste 
desktop_shadow=#d6d6d3d3dede 
desktop_font=Roboto Light 12 
show_wm_menu=0 
sort=mtime;ascending; 
show_documents=0 
show_trash=1 
show_mounts=0 

파일을 수정하려는 경우. sed -i

관련 문제