web-dev-qa-db-ja.com

文字列をbashで数行にカットする

ローカルディレクトリのパスを取得し、パス上の各ディレクトリを別の行に配置します。私はカットを使ってそれをやろうとしました:

pwd | cut -f 1- -d\/ --output-delimiter=\n

ただし、「/」はEOLに変更されませんが、代わりに「n」が挿入されます。何が悪いのですか?

36
SIMEL

これでうまくいくはずです

pwd | tr '/' '\n'

(最初の/が原因で)最初に空の行が必要ない場合は、次のようにすることができます

pwd | cut -b2- | tr '/' '\n'

例:

#aioobe@r60:~/tmp/files$ pwd
/home/aioobe/tmp/files
#aioobe@r60:~/tmp/files$ pwd | cut -b2- | tr '/' '\n'
home
aioobe
tmp
files
54
aioobe

あなたが試すことができます:

pwd | tr '/' '\n'
8
codaddict

これは、(ANSI-C引用を使用して)実行しようとすることを達成する方法です。

pwd | cut -f 1- -d\/ --output-delimiter=$'\n'