我有一个包含命名约定文件的目录:
test.201506010000.csv
test.201506010005.csv
test.201506010010.csv
...
test.201506302355.csv
每个文件都保留数值。我想将所有文件合并为一个文件(逐行删除源文件),并且我希望在每行之前将文件名放在文件名之前。
期望目标:
merged.csv
2015-06-01 00:00,<value_of_text.201506010000.csv>
2015-06-01 00:05,<value_of_text.201506010005.csv>
...
2015-06-30 23:55,<value_of_text.201506312355.csv>
答案 0 :(得分:0)
只需循环遍历文件,使用参数扩展从文件名中提取时间戳。
<?php namespace App\Providers;
use Illuminate\Routing\Router;
use Illuminate\Http\Request;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
class RouteServiceProvider extends ServiceProvider {
/**
* This namespace is applied to the controller routes in your routes file.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $namespace = 'App\Http\Controllers';
/**
* Define your route model bindings, pattern filters, etc.
*
* @param \Illuminate\Routing\Router $router
* @return void
*/
public function boot(Router $router)
{
die('fadfasdfasd');
parent::boot($router);
//
}
/**
* Define the routes for the application.
*
* @return void
*/
public function map(Router $router, Request $request)
{
$router->group(['namespace' => $this->namespace], function($router) {
require app_path('Http/routes.php');
});
}
}
// routes.php
Route::post('admin/article/edit', [
'as' => 'adminPostEditArticle',
'uses' => 'Admin\ArticleController@postEditArticle'
]);
Route::post('admin/article/create', [
'as' => 'adminPostCreateArticle',
'uses' => 'Admin\ArticleController@postCreateArticle'
]);
Route::get('admin/article/delete/{articleId}', [
'as' => 'adminDeleteArticle',
'uses' => 'Admin\ArticleController@deleteArticle'
]);
Route::get('admin/ajax/article/editForm/{articleId}', [
'as' => 'adminAjaxEditArticleForm',
'uses' => 'Admin\ArticleController@ajaxEditArticleForm'
]);
Route::get('admin/ajax/article/createForm', [
'as' => 'adminAjaxCreateArticleForm',
'uses' => 'Admin\ArticleController@ajaxCreateArticleForm'
]);
Route::get('admin/articles', [
'as' => 'adminArticlesList',
'uses' => 'Admin\ArticleController@index'
]);
答案 1 :(得分:0)
for file in test.*.csv; do printf "%s-%s-%s %s:%s,%s\n" ${file:5:4} ${file:9:2} ${file:11:2} ${file:13:2} ${file:15:2} $(cat $file) >>merged.csv; done