質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

Q&A

0回答

2025閲覧

シェルスクリプトで対象フォルダ配下のテキストファイルをすべて読み込み、そのファイルの最終行のn~m列の文字列をエクセルファイルに書き出す処理の実装方法について

King_of_Flies

総合スコア382

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

0グッド

2クリップ

投稿2019/05/10 08:59

やりたいこと

・シェル実行で本題の実施

・フォルダ構成
D\HogeFolderにtxtファイル40個ほど
D\HogeResultにエクセルファイル1個

D\HogeFolder配下のtxtファイルは
それぞれテンプレート的に最終行の10文字目~18文字目に
「ファイルID」が記載されているため、その文字列を読み込み、
D\HogeResult配下のエクセルファイルのA列に順次、
読み込んだtxtファイルの名称と
B列にファイルIDを書き出したい。

エクセルファイルには最終的に
A,B
ファイル名A,FILEID01
ファイル名B,FILEID02
...
...
...
ファイル名ZZ,FILEID40

となるような出力結果を期待値としている。

作成途中で申し訳ないのですが、
どのように作りこんでいけばよいかわかりませんでした・・・。

sh

1$filePath="D\HogeFolder" 2$resultPath="D\HogeResult\Hoge.xlsx" 3 4#プロセスの開放 5$excel = New-Object -ComObject Excel.Application 6$dataBook = $excel.Workbooks.Open($resultPath) 7 8#filePath配下のtxtファイルの数だけループ 9$for var in $filePath`*.txt` 10#最終行の読み込み? 11while read LINE || [ -n "${LINE}" ]; do 12 #Excelに書き込みを行う 13  14done 15 16# プロセスを解放する 17$excel = $null

ご助力お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mitarai

2019/05/12 02:55 編集

まずPowerShellでやりたいのかシェルスクリプトでやりたいのかを明確にしてください。 その上でどの部分のやり方がわからないのかを明確にして質問すると回答が得られやすくなります。 例: ・指定ディレクトリ以下のテキストファイルを取得する方法がわからない。 ・ループの書き方がわからない。 ・ファイルの最終行を取得する方法がわからない。 ・部分文字列の取得方法がわからない。 ・xlsxファイルへの出力の方法がわからない。 など
King_of_Flies

2019/05/13 00:33

シェルスクリプトでお願いします。 以下三点が自分がわかっていないところになります。 ・指定ディレクトリ以下のテキストファイルを取得する方法がわからない。 ・ファイルの最終行を取得する方法がわからない。&指定された文字列開始位置から指定された文字列終了位置までの取得方法 (最終行のn文字目からm文字目までを取得する) ・部分文字列の取得方法がわからない。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問