我有bigdata / * .txt的所有文本文件。此文件的格式为languageName-xxx-10MB.txt。我想执行一个操作,将这些文件从10MB块递增到前10KB递归,然后将新形成的文件放在../smalldata/。新形成的文件格式应为languageName-xxx-10KB.txt < / p>
我已经独立尝试了这两个操作。首先是在bigdata中使用
循环遍历所有文件#!/bin/bash
for entry in bigdata/*
do
echo "$entry"
done
我得到输出为
bigdata/lang1-xxx-10MB.txt
bigdata/lang2-xxx-10MB.txt
.
.
bigdata/langn-xxx-10MB.txt
我也尝试使用head
命令,使用
head -c 10240 lang1-xxx-10MB.txt > ../smalldata/lang1-xxx-10KB.txt
我正在寻找一种迭代合并这两个任务的方法。
答案 0 :(得分:0)
在包含bigdata
和smalldata
目录的目录中,您可以运行
#!/bin/bash
cd bigdata
for entry in *
do
head -c 10240 "$entry" > "../smalldata/${entry//10MB/10KB}"
done
${..}
部分称为parameter expansion。
答案 1 :(得分:0)
T