プログラムのベース名(または他のプログラム)を使用して、空白で区切られたデータの1つの列の各文字列に変更を適用したいと思います。具体的には、次のような形式のデータがあります。
string string string /afs/address/user/directory1 string string string string
データ(4列目の文字列)を次のように変更したいと思います。
string string string directory1 string string string string
これは、4番目の列の各行にbasenameなどのプログラムを使用して実現できます。私が望む解決策は、列の各行の編集にbasename以外のプログラムを使用できるように、ある種のコマンド置換を組み込むことです。したがって、次のようなものがソリューションに表示される可能性があります。
"$(basename $4)",
ここで、$ 4は列4の行を表します。非効率的なコードを使用してすべての行を明示的に循環させる方法はわかっていると思いますが、awkのようなよりエレガントなものを使用した効率的なアプローチがあると思います。これにアプローチする方法について何か提案はありますか?