3 在 exp4 目录下创建一个 shell 脚本 filecopy,要求如下: (1) 判断 exp4 目录下是否存在目录 FILE3-5K,如果存在则先删除再新建,否则新 建 (2) 将 exp4 目录下的 FILE3 目录内小于 5k 的文件复制到 FILE3-5K 目录
时间: 2023-06-14 13:05:49 浏览: 84
以下是 filecopy 脚本的代码:
```
#!/bin/bash
# 判断 FILE3-5K 目录是否存在,如存在则删除
if [ -d "FILE3-5K" ]; then
rm -r FILE3-5K
fi
# 创建 FILE3-5K 目录
mkdir FILE3-5K
# 将 FILE3 目录内小于 5k 的文件复制到 FILE3-5K 目录
find FILE3 -type f -size -5k -exec cp {} FILE3-5K/ \;
```
脚本的执行过程如下:
- 首先判断是否存在 FILE3-5K 目录,如果存在则删除。
- 然后创建新的 FILE3-5K 目录。
- 最后使用 find 命令查找 FILE3 目录中小于 5k 的文件,并将其复制到 FILE3-5K 目录中。
相关问题
【问题描述】 编写一个程序,实现文件的复制:将当前目录下filecopy.in文件复制成filecopy.out。 【输入形式】 输入文件为当前目录下的filecopy.in,其内容由任意文本构成。 【输出形式】 输出文件为当前目录下的filecopy.out。 【样例输入】 若输入filecopy.in文件内容如下: hello world1!# hello world2!# hello world3!# hello world4!# 【样例输出】 输出文件filecopy.out内容为: hello world1!# hello world2!# hello world3!# hello world4!# 【样例说明】 输入文件为当前目录下的filecopy.in,输出文件为当前目录下的filecopy.out。用C语言
好的,以下是用 C 语言实现的文件复制程序:
```c
#include <stdio.h>
int main() {
FILE *in, *out;
char ch;
in = fopen("filecopy.in", "r");
out = fopen("filecopy.out", "w");
if (in == NULL || out == NULL) {
printf("文件打开失败!");
return 1;
}
while ((ch = fgetc(in)) != EOF) {
fputc(ch, out);
}
fclose(in);
fclose(out);
return 0;
}
```
您只需要将要复制的文件命名为 "filecopy.in",将输出的文件命名为 "filecopy.out",然后编译并运行上述代码即可完成文件复制。请注意,如果输出文件已经存在,程序会覆盖原有文件。
用Java编写一个程序,实现文件的复制。程序的任务是将当前目录下filecopy.in文件复制成filecopy.out。输入文件为当前目录下的filecopy.in。其内容由任意文本构成。输出文件为当前目录下的filecopy.out。若输入filecopy.in文件内容如下: hello world1!# hello world2!# hello world3!# hello world4!#输出文件filecopy.out内容为:hello world1!# hello world2!# hello world3!# hello world4!#
可以使用Java中的File类和IO流来实现文件复制功能。具体步骤如下:
1. 创建File对象,指定输入文件和输出文件的路径和名称。
```java
File inputFile = new File("./filecopy.in");
File outputFile = new File("./filecopy.out");
```
2. 创建输入流和输出流对象,将输入文件中的内容读取到内存中,并将其写入到输出文件中。
```java
try (
FileInputStream fis = new FileInputStream(inputFile);
FileOutputStream fos = new FileOutputStream(outputFile);
) {
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
```
完整代码如下:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopy {
public static void main(String[] args) {
File inputFile = new File("./filecopy.in");
File outputFile = new File("./filecopy.out");
try (
FileInputStream fis = new FileInputStream(inputFile);
FileOutputStream fos = new FileOutputStream(outputFile);
) {
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
运行该程序后,会在当前目录下生成一个filecopy.out文件,内容与filecopy.in文件相同。
阅读全文