我在命名模式x1,x2,x3,x4 ...之后有一堆子文件夹,每个子文件夹都包含相同的script.sh文件。如果我想编写一个脚本,将该脚本文件的某些行(比如第2行)从x1更改为文件夹的名称,该怎么办?
例如,在文件夹x5中,script.sh的第二行应该是x5,而在文件夹x39中,script.sh的第二行应该是x39。
谢谢!
答案 0 :(得分:1)
这个将子文件夹名称插入每个script.sh的第二行
find . -name script.sh | while read f
do
dir=$(basename $(dirname "$f"))
sed -i "2 i $dir" "$f"
done
要替换第二行,请使用c
代替i
find . -name script.sh | while read f
do
dir=$(basename $(dirname "$f"))
sed -i "2 c $dir" "$f"
done