我想使用程序基本名称(或其他程序)对空格分隔数据中一列的每个字符串进行更改。具体来说,我有如下形式的数据:
string string string /afs/address/user/directory1 string string string string
我想更改数据(第四列中的字符串),使其如下所示:
string string string directory1 string string string string
这可以通过在第四列的每一行上使用诸如 basename 之类的程序来实现。我想要的解决方案将包含某种命令替换,以便我可以在编辑列的每一行时使用 basename 以外的其他程序。因此,解决方案中可能会出现如下内容:
"$(basename $4)",
其中 $4 表示第 4 列中的一行。我想我知道如何使用低效的代码显式地循环遍历每一行,但我想有一种使用 awk 之类的有效方法会更优雅。你对如何解决这个问题有什么建议吗?