2016-08-17 6 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

http://mywiki.wooledge.org/BashFAQ/021のBashFAQ#21が興味深いかもしれません。 –

+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" 

例:以下のように実行

ライン6変更後の

デスクトップ項目-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 

[*] 
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を使用する

関連する問題