常用命令
- 写入文件路径到lst
- 提取绝对路径中的文件名/文件名片段
- 两种循环
写入文件路径到lst
- 写入当前文件夹下文件的绝对路径:
ls | sed
.
// 写入当前文件夹下全部文件绝对路径
ls | sed "s:^:`pwd`/:" > all_file.lst
// 写入当前文件夹下第一个文件绝对路径
ls | sed "s:^:`pwd`/:" head -n 1 > first_file.lst
ls -R $dir/*.txt >
- 写入指定文件夹(dir)下所有名称含字符串string的txt文件绝对路径:
find | grep
.
find $dir/ -name "*.txt" | grep string >>
提取绝对路径中的文件名/文件名片段
// 每行格式如下,dir和文本由/t隔开
// /.../.../filename text
file=`echo $line | awk -F '/t' '{print $1}' | awk -F '/' '{print $NF}'`
filename=`echo ${file%.*}`
两种循环
for循环
for line in `cat `
{
name=`echo $line | awk -F '/' '{print $NF}'`
echo $name >>
}
- 使用i生成当前目录下的文件夹名(0001-0022)进行遍历+寻找含某字符串的名字+追加写入lst
for ((f=1;f<=22;f++))
do
foldernum=`printf %04d $f`
echo $foldernum
find $PWD/$foldernum/ -name "*.txt" | grep string >>
done
while循环
while read line;
do
text=`head -n 1 $line`
file=`echo $line | awk -F '/' '{print $NF}'`
newline="$file $text"
echo $newline >>
done <