1. 程式人生 > >修改檔名字,刪除指定大小的檔案一記

修改檔名字,刪除指定大小的檔案一記

因為SD卡損壞,用windows自帶的chkdsk命令恢復後,檔案都變成了 CHK字尾的名字,有些恢復的檔案是不需要的。

rename 's/\.CHK/\.jpeg/' *

-rw------- 1 wlia wlia    32768  8月  8 23:06 FILE1370.jpeg
-rw------- 1 wlia wlia    32768  8月  8 23:06 FILE1371.jpeg
-rw------- 1 wlia wlia    32768  8月  8 23:06 FILE1372.jpeg
-rw------- 1 wlia wlia    32768  8月  8 23:06 FILE1373.jpeg

-rw------- 1 wlia wlia    65536  8月  8 23:06 FILE1263.jpeg
-rw------- 1 wlia wlia    65536  8月  8 23:06 FILE1264.jpeg
-rw------- 1 wlia wlia    65536  8月  8 23:06 FILE1265.jpeg
-rw------- 1 wlia wlia    65536  8月  8 23:06 FILE1266.jpeg

 find . -size 32768c -exec rm {} \;
 find . -size 65536c -exec rm {} \;

[email protected]:/media/wlia/TOSHIBA EXT/2015-8-8-company/test$ find . -size +10M |xargs ls -l {}
ls: cannot access {}: No such file or directory
-rw------- 1 wlia wlia 24281088  8月  9 17:06 ./3.jpeg
-rw------- 1 wlia wlia 24281088  8月  9 17:06 ./4.jpeg
-rw------- 1 wlia wlia 24281088  8月  9 16:53 ./FILE1729.jpeg

awk的結果為空

[email protected]:/media/wlia/TOSHIBA EXT/2015-8-8-company/test$ find . -size +10M | awk -F . '{print $1}'



[email protected]:/media/wlia/TOSHIBA EXT/2015-8-8-company/test$ find . -size +10M | awk -F '.' '{print $1}'


原因是這裡
[email protected]:/media/wlia/TOSHIBA EXT/2015-8-8-company/test$ find . -size +10M
./3.jpeg
./4.jpeg
./FILE1729.jpeg

要加上 -printf %f\\n

[email protected]:/media/wlia/TOSHIBA EXT/2015-8-8-company/test$ find . -size +10M -printf %f\\n
3.jpeg
4.jpeg
FILE1729.jpeg

[email protected]:/media/wlia/TOSHIBA EXT/2015-8-8-company/test$ find . -size +10M -printf %f\\n |  awk -F . '{print $1}'
3
4
FILE1729
[email protected]:/media/wlia/TOSHIBA EXT/2015-8-8-company/test$ find . -size +10M -printf %f\\n |  awk -F . '{print $1}' | xargs -i{} mv {}.jpeg {}.CR
[email protected]:/media/wlia/TOSHIBA EXT/2015-8-8-company/test$ ll
total 78464
drwx------ 1 wlia wlia      464  8月  9 17:10 ./
drwx------ 1 wlia wlia   655360  8月  9 16:56 ../
-rw------- 1 wlia wlia 24281088  8月  9 17:06 3.CR
-rw------- 1 wlia wlia 24281088  8月  9 17:06 4.CR
-rw------- 1 wlia wlia 24281088  8月  9 16:53 FILE1729.CR
-rw------- 1 wlia wlia  6848512  8月  9 16:53 FILE2301.jpeg

最好的做法還是用file判斷檔案型別

[email protected]:/media/wlia/TOSHIBA EXT/2015-8-8-company/test$ file FILE1729.CR
FILE1729.CR: Canon CR2 raw image data, version 2.0
[email protected]:/media/wlia/TOSHIBA EXT/2015-8-8-company/test$ file FILE2301.jpeg
FILE2301.jpeg: JPEG image data, EXIF standard

相關推薦

修改名字刪除指定大小檔案

因為SD卡損壞,用windows自帶的chkdsk命令恢復後,檔案都變成了 CHK字尾的名字,有些恢復的檔案是不需要的。 rename 's/\.CHK/\.jpeg/' * -rw------- 1 wlia wlia    32768  8月  8 23:06 FI

獲取指定目錄下的資料夾(包含檔案)並且拷貝到另指定資料夾下刪除指定目錄下的資料夾(包含檔案

    /**      * 複製整個資料夾內容      *       * @param oldPath      *  

Fileupload上傳檔案修改名字

string name =FileUpload1.PostedFile.FileName;//獲取檔名稱       int index = name.LastIndexOf(".");       string lastName = name.Substring(inde

遍歷資料夾目錄以一定條件刪除指定型別檔案

背景: 刪除 bmp格式檔案 (建立日期超過當天的時間) 示例程式碼如下: #include<iostream> #include<io.h> #include<time.h> #include<string> #inclu

日誌原始碼刪除指定路徑所有資料夾名並建立新的日誌檔案

#include "stdafx.h" #pragma warning( disable : 4786) // Disable warning messages #include <stdi

c語言實現通訊錄包括增加名字刪除資訊查詢修改排序

c語言可以實現的簡單程式,很好的運用了結構體,結構體陣列,結構體指標,函式的實現 //contact.h #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <string.h>

Linux下批量刪除檔案或者刪除指定大小檔案

find . -name "*" -type f -size 0c | xargs -n 1 rm -f刪除指定大小的檔案,只要修改對應的 -size 引數find . -name "*" -type f -size 1024c | xargs -n 1 rm -f就是刪除1

python 檔案讀寫刪除指定

# -*- coding:utf-8 -*- import re import os import random d1 = {} """ 寫檔案""" files = open('test.txt','a+') strs = "世界很大" for var in range(

Linux下自動清理超過指定大小檔案

  掃描某個目錄下的檔案,發現超過指定大小即清空 1)掃描目錄下的檔案 2)判斷檔案大小 3)清空大於指定檔案的內容   以byte為單位顯示檔案大小,然後和20M大小做對比. 20M換算成位元組為20971520這裡判斷是否大於20M,大於則使用echo 語句將對應檔案置空   20M=20 *

修改名字

import osimport shutild=r'C:\appData\手機掌廳資料\匯入IE\20180926\cut'j=0for i in os.listdir(d): j=j+1 # newfilename = i.replace('jack','sesvc'),將檔名中“r0”替換成“

java 通過SFTP連線獲取指定目錄檔案和上傳檔案

import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; import co

redis 叢集之動態新增redis節點刪除指定ID的redis節點以及檢視redis叢集中各個節點的資訊

redis cluster配置好,並執行一段時間後,我們想新增節點,或者刪除節點,該怎麼辦呢。首先登陸上去redis叢集內任意一個節點的client端 如:/usr/local/redis303/bin/redis-cli -c -h 192.168.1.108 -p 7713 進行登陸 192.168.1

git修改案後怎麼提交到遠端倉庫

修改檔案後,怎麼提交到遠端倉庫 1.git status 檢視git是否有修改內容需要提交 2.git add 指向需要提交的內容檔案 3.git commit 提交到本地庫 4.git push origin master 提交到遠端倉庫 下面是操作圖解: 1.g

intellij idea svn 修改案後資料夾路徑也變為藍色

svn檔案修改後,預設只有當前檔案更改而父檔案沒有標註,很不直觀;後來一頓好找,終於,嘿嘿嘿! File—->settings—->version control—–>勾選show

如何在git中刪除指定檔案和目錄

部分場景中,我們會希望刪除遠端倉庫(比如GitHub)的目錄或檔案。 具體操作 拉取遠端的Repo到本地(如果已經在本地,可以略過) $ git clone xxxxxx 在本地倉庫刪除檔案 $ git rm 我的檔案 在本地倉庫刪除資料夾

在上傳檔案的時候限制指定檔案型別

在上傳檔案的時候,需要限制指定的檔案型別,accept這個屬性,只在FF和chrome中有效。那麼accept能限制哪些檔案呢?見下表。副檔名 MIME 描述*.3gppaudio/3gpp, video/3gpp3GPP Audio/Video*.ac3audio/ac3A

C++批量修改名字

為了實驗方便,需要為實驗資料檔案的名字新增一些標註。為了方便地新增或修改檔名標註,所以寫了這個程式。 實驗資料來自CMU Graphics Lav Motion Capture Database。 其中的檔名為:01_01.amc, 前兩位是兩個數字,代表這條運動資料的表演

同一域名對應不同IP訪問指定主機檔案內容的方法

PHP獲取遠端主機檔案內容方法很多,例如:file_get_contents,fopen 等。<?php echo file_get_contents('http://demo.fdipzone

bat 批處理 登錄查詢刪除

@echo off @set root=%~dp0 setlocal enabledelayedexpansion :設定延遲 :for /f "delims=" %%i in (%root%of

bat批處理筆記——刪除指定型別檔案指定字首名

/*批處理——刪除指定型別檔案指定字首名*/ @echo off title 批量刪除字首名 echo. echo 本批處理可批量刪除字首名 echo. echo.&set /p strtemp3= 請輸入要刪除字首的檔案型別: echo.&set /p s