環境 Ubuntu14.04
sedコマンド
半角スペース" "をカンマ","へ置換する
下記コマンド使用しました。
一番上のコマンド以外は読み込んだファイルのxxxをXXXに置き換えるもの。
各行それぞれ
パイプ使用
-eオプション使用
複数ファイルを書き換える場合
$ cat ./train.csv | sed -e 's/,/ /g' > ./train_new.csv
$ sed -e 's/xxx/XXX/g' ./train.csv > ./train-new.csv
$ sed -i -e 's/xxx/XXX/g' ./train.csv ./train2.csv ./train3.csv
ちなみに日付とかにくっついてるスラッシュを,に置換する場合バックスラッシュをその前におきます。
$ cat ./train.csv | sed "s/\//,/g" >./train-new.csv
参考ページの作業でCSVファイルを作る必要があり
CSVファイルへ出力された数値データ間の半角スペースをsedで,へ書き換えました。
lsofコマンド
lsof -i をルート権限で使用すると
そのポートをオープンしているプロセスが表示される。
$ lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 2436 root 3u IPv6 4674 TCP *:ssh (LISTEN)
sshd 3198 root 4u IPv6 6078 TCP 192.168.0.7:ssh->192.168.0.30:1930 (ESTABLISHED)
sshd 3200 nori 4u IPv6 6078 TCP 192.168.0.7:ssh->192.168.0.30:1930 (ESTABLISHED)
複数のポートを調べる場合
$ lsof -i:21,22
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 2436 root 3u IPv6 4674 TCP *:ssh (LISTEN)
sshd 3198 root 4u IPv6 6078 TCP 192.168.0.7:ssh->192.168.0.30:1930 (ESTABLISHED)
sshd 3200 nori 4u IPv6 6078 TCP 192.168.0.7:ssh->192.168.0.30:1930 (ESTABLISHED)
vsftpd 3295 root 3u IPv4 6793 TCP *:ftp (LISTEN)
プロセス名を指定する場合-c "process name" オプション
sshをポートを調べる場合
$ lsof -c ssh
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 2436 root cwd DIR 3,2 4096 2 /
sshd 2436 root rtd DIR 3,2 4096 2 /
sshd 2436 root txt REG 3,2 274692 1343255 /usr/sbin/sshd
lsofはDIGITSがウェブサービスに使っているポートを調べた時のコマンド
*lsofはUSBポートやディスクドライブがビジーになっている場合
そのデバイスを専有しているプロセスをkillする時にも役立ちます
MacOSXでUSBポート占有プロセスを調べる場合
$ lsof | grep "/dev/cu"
Linuxで外付けメディアの占有プロセスPID確認
sudo lsof /media/data
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/takuya/.gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 29631 root cwd DIR 8,36 4096 2 /media/data
rsync 29633 root cwd DIR 8,36 4096 2 /media/data
上記の場合
kill 29631
kill 29633
などでメディアドライブは開放されるでしょう。
serviceコマンド
例えばhttpdサービス(デーモン)の状態を知りたいときには以下のようなコマンドを実行します
/etc/init.d以下のスクリプトを直接実行で同じ処理
service httpd status
/etc/init.d/httpd status
haltやkillallといった特別なスクリプトを除いて,/etc/init.d以下にあるサービス・スクリプトの一覧に基づき全てのサービスのステータスを列挙する。
service --status-all
参考ページ
ITpro
kivantiumさんのページ ご注文は機械学習ですか?
sedコマンド
lsofコマンド
*自宅内のネットワークセキュリティに関る部分は公開してません