フォルダ内のすべての.shファイルの最初の行を置き換える[閉じる]

フォルダ内のすべての.shファイルの最初の行を置き換える[閉じる]

現在のフォルダにあるすべての.shファイルのリストを作成します。このリストの各ファイルの最初の行を確認し、ファイルがで始まる場合#!/bin/shに置き換えます#!/bin/bash。を含むファイルのみを変更し、#!/bin/shすべての.shファイルの最初の行をに置き換えないでください#!/bin/bash

また、起動順序のみを交換するだけです。ファイルがその間にある場合は、#!/bin/sh交換しないでください。 .shのサブフォルダから繰り返し検索する必要はなく、現在のフォルダのファイルから置き換えるだけです。

ベストアンサー1

何千もの「.sh」ファイルがなく、「.sh」で終わるサブディレクトリがない場合は、次のものを使用できます。

gawk -i inplace 'NR==1 && $0=="#!/bin/sh" {$0="#!/bin/bash"} 1' *.sh

おすすめ記事