【问题标题】:Can't rename ... No such file or directory无法重命名...没有这样的文件或目录
【发布时间】:2019-10-15 15:38:42
【问题描述】:

我有一些文件需要递归重命名。所以我执行命令find shop-bill -depth -type f -exec rename -v "s/shop/shop-bill/" {} +,但它给了我以下错误。我对No such file or directory 错误感到困惑,我可以确认这些文件确实存在。

liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$ find shop-bill -depth -type f -exec rename -v "s/shop/shop-bill/" {} +
Can't rename shop-bill/dto/shop.dto.ts shop-bill-bill/dto/shop.dto.ts: No such file or directory
Can't rename shop-bill/shop.controller.ts shop-bill-bill/shop.controller.ts: No such file or directory
Can't rename shop-bill/shop.entity.ts shop-bill-bill/shop.entity.ts: No such file or directory
Can't rename shop-bill/shop.module.ts shop-bill-bill/shop.module.ts: No such file or directory
Can't rename shop-bill/shop.providers.ts shop-bill-bill/shop.providers.ts: No such file or directory
Can't rename shop-bill/shop.service.ts shop-bill-bill/shop.service.ts: No such file or directory
liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$
liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$ ll shop-bill/dto/shop.dto.ts
-rwxrwxrwx 1 liudonghua liudonghua 879 May 29 17:17 shop-bill/dto/shop.dto.ts*
liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$ tree shop-bill
shop-bill
├── dto
│   └── shop.dto.ts
├── shop.controller.ts
├── shop.entity.ts
├── shop.module.ts
├── shop.providers.ts
└── shop.service.ts

1 directory, 6 files
liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$

奇怪的是,我可以像这样成功执行类似的命令。

liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$
liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$ tree operator-bill
operator-bill
├── dto
│   └── shop.dto.ts
├── shop.controller.ts
├── shop.entity.ts
├── shop.module.ts
├── shop.providers.ts
└── shop.service.ts

1 directory, 6 files
liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$ find operator-bill -depth -type f -exec rename -v "s/shop/operator-bill/" {} +
operator-bill/dto/shop.dto.ts renamed as operator-bill/dto/operator-bill.dto.ts
operator-bill/shop.controller.ts renamed as operator-bill/operator-bill.controller.ts
operator-bill/shop.entity.ts renamed as operator-bill/operator-bill.entity.ts
operator-bill/shop.module.ts renamed as operator-bill/operator-bill.module.ts
operator-bill/shop.providers.ts renamed as operator-bill/operator-bill.providers.ts
operator-bill/shop.service.ts renamed as operator-bill/operator-bill.service.ts
liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$
liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$ rename -v
Usage:
    rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E perlexpr]*|perlexpr
    [ files ]

liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$ rename -V
/usr/bin/rename using File::Rename version 0.20

liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$

【问题讨论】:

    标签: linux find rename


    【解决方案1】:

    终于找到问题了,原来是父目录也改名了。

    liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$ find shop-bill -depth -type f -exec rename -n "s/shop/shop-bill/" {} +
    rename(shop-bill/dto/shop.dto.ts, shop-bill-bill/dto/shop.dto.ts)
    rename(shop-bill/shop.controller.ts, shop-bill-bill/shop.controller.ts)
    rename(shop-bill/shop.entity.ts, shop-bill-bill/shop.entity.ts)
    rename(shop-bill/shop.module.ts, shop-bill-bill/shop.module.ts)
    rename(shop-bill/shop.providers.ts, shop-bill-bill/shop.providers.ts)
    rename(shop-bill/shop.service.ts, shop-bill-bill/shop.service.ts)
    liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$ ll shop-bill-bill/dto/shop.dto.ts
    ls: cannot access 'shop-bill-bill/dto/shop.dto.ts': No such file or directory
    liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$
    liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src$ cd shop-bill
    liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src/shop-bill$
    liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src/shop-bill$ find . -depth -type f -exec rename -n "s/shop/shop-bill/" {} +
    rename(./dto/shop.dto.ts, ./dto/shop-bill.dto.ts)
    rename(./shop.controller.ts, ./shop-bill.controller.ts)
    rename(./shop.entity.ts, ./shop-bill.entity.ts)
    rename(./shop.module.ts, ./shop-bill.module.ts)
    rename(./shop.providers.ts, ./shop-bill.providers.ts)
    rename(./shop.service.ts, ./shop-bill.service.ts)
    liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src/shop-bill$ find . -depth -type f -exec rename -v "s/shop/shop-bill/" {} +
    ./dto/shop.dto.ts renamed as ./dto/shop-bill.dto.ts
    ./shop.controller.ts renamed as ./shop-bill.controller.ts
    ./shop.entity.ts renamed as ./shop-bill.entity.ts
    ./shop.module.ts renamed as ./shop-bill.module.ts
    ./shop.providers.ts renamed as ./shop-bill.providers.ts
    ./shop.service.ts renamed as ./shop-bill.service.ts
    liudonghua@desktop-ldh:/mnt/d/code/node/nestjs-sequelize-typescript/src/shop-bill$
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 2021-12-21
      • 1970-01-01
      • 2017-01-15
      • 2014-05-24
      • 1970-01-01
      • 2021-07-01
      相关资源
      最近更新 更多