LoginSignup
0
0

More than 5 years have passed since last update.

ファイル名もファイルの中身も一括で置き換えしたい時

Posted at

ファイル名もファイルの中身も変数を使って
grep | sed したい時、

以下のshellでは
File_IDxxxx.txtってファイルの中身で
IDxxxx に該当する部分を全て
指定の変数配列で置き換えて出力するshellです。


#!/bin/bash

array=(\
ID0001 \
ID0002 \
ID0003 \
ID0005 \
ID0008 \
ID0013 \
ID0021 \
ID0034 \
)


for i in "${array[@]}"; do
    #echo "$i"
    cp "File_IDxxxx.txt" "File_$i.txt"
    grep -l 'IDxxxx' "File_$i.txt" | xargs sed -i -e "s/IDxxxx/${i}/g"
done

exit 0

ヒアドキュメントとか使った方がスマートにかける気がしますが
めっちゃ個人用なのでこれで。

grep | sed はよく見かけると思うのですが
変数を使いたい時はシングルクオートではなくダブルクオートで
囲めばいけます。

0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0