随笔-shell-将文件插入到另外一个文件(任意位置)

link:https://www.baeldung.com/linux/file-insert-multiple-lines

When the Data Is in Another File:

cat stocks.csv
Date,TICKR,Price
08-08-2021,SCRIP1,104
08-08-2021,SCRIP2,107
08-08-2021,SCRIP3,105
08-08-2021,SCRIP4,110
08-08-2021,SCRIP5,340
08-08-2021,SCRIP9,100
08-08-2021,SCRIP10,35
cat missing_data.csv
08-08-2021,SCRIP6,49
08-08-2021,SCRIP7,76
08-08-2021,SCRIP8,85
sed -i '/08-08-2021,SCRIP5,340/r missing_data.csv' stocks.csv
cat stocks_new.csv
Date,TICKR,Price
08-08-2021,SCRIP1,104
08-08-2021,SCRIP2,107
08-08-2021,SCRIP3,105
08-08-2021,SCRIP4,110
08-08-2021,SCRIP5,340
08-08-2021,SCRIP6,49
08-08-2021,SCRIP7,76
08-08-2021,SCRIP8,85
08-08-2021,SCRIP9,100
08-08-2021,SCRIP10,35

When the Data Is Specified Within the sed Command

sed -i "/08-08-2021,SCRIP5,340/a\08-08-2021,SCRIP6,49\n08-08-2021,SCRIP7,76\n08-08-2021,SCRIP8,85" stocks.csv
cat stocks_new.csv
Date,TICKR,Price
08-08-2021,SCRIP1,104
08-08-2021,SCRIP2,107
08-08-2021,SCRIP3,105
08-08-2021,SCRIP4,110
08-08-2021,SCRIP5,340
08-08-2021,SCRIP6,49
08-08-2021,SCRIP7,76
08-08-2021,SCRIP8,85
08-08-2021,SCRIP9,100
08-08-2021,SCRIP10,35

Reading the Data From stdin:

cat << EOF | sed -i '/08-08-2021,SCRIP5,340/r /dev/stdin' stocks.csv
> 08-08-2021,SCRIP6,49
> 08-08-2021,SCRIP7,76
> 08-08-2021,SCRIP8,85
> EOF
cat stocks_new.csv
Date,TICKR,Price
08-08-2021,SCRIP1,104
08-08-2021,SCRIP2,107
08-08-2021,SCRIP3,105
08-08-2021,SCRIP4,110
08-08-2021,SCRIP5,340
08-08-2021,SCRIP6,49
08-08-2021,SCRIP7,76
08-08-2021,SCRIP8,85
08-08-2021,SCRIP9,100
08-08-2021,SCRIP10,35
posted @ 2024-12-06 01:33  LiYanbin  阅读(29)  评论(0)    收藏  举报