【Linux】ls -lコマンドの実行結果をタブ区切りで取得する


この記事はプロモーションを含みます。

Linux

Linux環境で、ls -lコマンドの実行結果をタブ区切りで取得する方法を解説します。

はじめに

Linux環境でよく使用される「ls -l」コマンドですが、実行結果をエクセルなどに貼り付ける際、そのまま貼り付けれませんよね。
今回は、そのまま貼り付けれるようにタブ区切りで出力する方法を説明します。

コマンドが長いので、下記を参考にaliasを設定してもいいかもしれません。

今回説明する方法ですが、TeraTermの画面から普通にコピー(ドラッグしてコピー)した場合、タブ文字が反映されないという問題があります。
TeraTermから出力されるログファイルや、リダイレクトで出力したファイルでは、正しくタブ文字が反映されていますので、タブ文字を出力した情報を取得する場合は、そちらのファイルを開く必要があります。

下記のようにコピーすることで、TeraTermでも、タブ文字をそのままコピーすることが可能です。
① コピーしたい情報をドラッグする
② TeraTermのメニューより、編集 → テーブルをコピーを選択
*こちらの方法も問題があり、半角スペースもタブ文字に変わってしまう点は注意が必要です。

タブ区切りで出力する

ここでは、ls -lコマンドをタブ区切りで出力する方法を説明します。

以下のように、lsコマンドに「tr -s ‘ ‘ ‘\t’」をパイプすることで、lsコマンドの実行結果をタブ区切りで出力することが出来ます。

[root@STKPUB002 data]# ls -l /home/data/ | tr -s ' ' '\t'
合計	8
drwxr-xr-x.	2	syutaku	syutaku	6	3月	31	23:56	dir1
drwxr-xr-x.	2	syutaku	syutaku	6	3月	31	23:56	dir2
drwxr-xr-x.	2	syutaku	syutaku	6	3月	31	23:56	dir3
-rw-r--r--.	1	syutaku	syutaku	81	3月	31	23:58	file1.txt
-rw-r--r--.	1	syutaku	syutaku	0	3月	31	23:56	file2.txt
-rw-r--r--.	1	syutaku	syutaku	0	3月	31	23:56	file3.txt
-rw-r--r--.	1	root	root	379	4月	3	09:18	test.txt

日時を[Y/M/D h:m:s]形式にしつつタブ区切りで出力する

普通にlsコマンドをタブ区切りにすると、日時情報がバラバラになってしまうので、「YYYY/MM/DD hh:mm:ss」形式に変更しつつ、タブ区切りにする方法を説明します。

[root@STKPUB002 data]# ls -l --time-style=+'%Y/%m/%d %H:%M:%S' /home/data/ | tr -s ' ' '\t'
合計	8
drwxr-xr-x.	2	syutaku	syutaku	6	2023/03/31	23:56:27	dir1
drwxr-xr-x.	2	syutaku	syutaku	6	2023/03/31	23:56:29	dir2
drwxr-xr-x.	2	syutaku	syutaku	6	2023/03/31	23:56:34	dir3
-rw-r--r--.	1	syutaku	syutaku	81	2023/03/31	23:58:21	file1.txt
-rw-r--r--.	1	syutaku	syutaku	0	2023/03/31	23:56:44	file2.txt
-rw-r--r--.	1	syutaku	syutaku	0	2023/03/31	23:56:44	file3.txt
-rw-r--r--.	1	root	root	379	2023/04/03	09:18:46	test.txt

上記の場合でも、日付と時間の間にタブが含まれてしまいます。
なので、以下のようにすることで、日付と時間の間を半角スペースにすることが出来ます。

[root@STKPUB002 data]# ls -l --time-style=+'%Y/%m/%d★%H:%M:%S' /home/data/ | tr -s ' ' '\t' | tr -s '★' ' '
合計	8
drwxr-xr-x.	2	syutaku	syutaku	6	2023/03/31 23:56:27	dir1
drwxr-xr-x.	2	syutaku	syutaku	6	2023/03/31 23:56:29	dir2
drwxr-xr-x.	2	syutaku	syutaku	6	2023/03/31 23:56:34	dir3
-rw-r--r--.	1	syutaku	syutaku	81	2023/03/31 23:58:21	file1.txt
-rw-r--r--.	1	syutaku	syutaku	0	2023/03/31 23:56:44	file2.txt
-rw-r--r--.	1	syutaku	syutaku	0	2023/03/31 23:56:44	file3.txt
-rw-r--r--.	1	root	root	379	2023/04/03 09:18:46	test.txt

コメント

タイトルとURLをコピーしました