MacOS 10.13.4です
1.ディレクトリ内(旧フォルダ)でサイズが一番大きなファイルを抽出
↓
2.リスト.txtのn行目にある文字列(Wordと定義)を抽出し
↓
3.名前をWord.txtに変更&新フォルダに移動
という動作をさせたいです
#!/usr/bin/bash
n=1
LISTPATH="~/Desktop/リスト.txt"
PATH1="~/Desktop/旧フォルダ" #ここにファイル群が入ってます
PATH2="~Desktop/新フォルダ"
#1.最も大きなサイズのファイルを抽出しFILEとして定義
FILE=`ls -1 -S $PATH1/* | head -1`
#2.リスト.txtのn行目の文字列をWordとして定義
Word=`sed -n '$n'p '$LISTPATH'`
#3.旧フォルダにあるファイルをWordにリネームした上で新フォルダに移動
mv $PATH1/$FILE $PATH2/Word.txt
こんな感じで書いてみたのですが2.で"sed : 1 :invalid command code U"のようなエラーが出て先に進めません
ターミナルで直接コマンドを入力すると成功するのでおそらく変数やメタ文字の扱いが悪いのだと思います
ですがいろいろ調べて試してみたのですが一向に変わる気配がありません
間違っている点等、あるいは別の方法などありましたらご教授願います