zoukankan      html  css  js  c++  java
  • linux 将一个文件分解成多个不同名文件

    1.通过c直接实现

    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <unistd.h>
    
    int fileNum=0;
    char fileNam[10];
    
    char fileName(){
        fileNam[10]=0;
        fileNum += 1;
        char str[4];
        char s1[]="./image/";
        char s2[]=".yuv";
        sprintf(str,"%d",fileNum);
        sprintf(fileNam,"%s%s%s",s1,str,s2);     
    }
    
    int main(int argc,char* argv[])
    {
        int fd_src,fd_dst;
        char buf[245120];
        int n;
        
        if((fd_src=open("./raw.data",O_RDONLY))<0)
        {
            perror("open src");
            exit(EXIT_FAILURE);
        }
        
        while((n=read(fd_src,buf,sizeof(buf)))>0){
            if (n != 245120)
            {
                perror("file size small");
                close(fd_src);
                exit(EXIT_FAILURE);
            }
    
            //lseek(fd_src,245120,SEEK_CUR);
            fileName();    
                    
            if (fd_dst = open(fileNam,O_CREAT|O_WRONLY,0666)<0)
            {
                perror("open dst fail");
                close(fd_src);
                exit(EXIT_FAILURE);
            }
        
            write(fd_dst,buf,n);
        
            printf("copy successfully
    ");
            close(fd_dst);
            system("./move.sh");
        }
        printf("copy successfully
    ");
        close(fd_src);
        exit(EXIT_SUCCESS);    
    }
    View Code

    2.通过调用system函数执行脚本

    #! /bin/sh 
    
    file_name(){
        rm ./image/1.txt
        touch ./image/1.txt
        chmod 777 ./image/1.txt
        ls -l image | cut -d ' ' -f 10 | cut -d '.' -f 1 > ./image/1.txt
        num=$(tail ./image/1.txt -n 1)
        echo "$num"
        num=$(($num+1))
        echo "$num"
    }
    move (){
        file_name
        mv ./image/0.yuv ./image/"$num".yuv    
    }
    move
    View Code
  • 相关阅读:
    Html.RenderPartial和Html.Partial区别
    SQL Server事务处理
    为什么要使用消息队列(一)
    消息队列的优缺点(三)
    消息队列消息顺序性
    分布式事务之消息队列解决方案
    Solr与tomcat整合,并添加中文分词器
    Solr设置高亮
    Solr执行查询操作
    Lucene使用Filter搜索过滤
  • 原文地址:https://www.cnblogs.com/Malphite/p/7468293.html
Copyright © 2011-2022 走看看